setUser($user);$session=app('session')->driver();$session->start();$session->put('company_context',$f['scope']+['module_id'=>'accounting','token'=>'report-boundaries']);$r=Illuminate\Http\Request::create('/api/general-ledger/account-ledger','GET');$r->attributes->set('sgf_module','accounting');$r->setLaravelSession($session);$r->setUserResolver(fn()=>$user);$app->instance('request',$r);app(CompanyContext::class)->selectFor($user->id,1,2,2);$controller=app(ComposedLedgerController::class);$base=['from_on'=>'2026-11-10','to_on'=>'2026-11-10']; foreach([[$base+['account_id'=>2147483647],403,'foreign or missing account denied instead of500'],[$base,422,'explicit account required instead of500'],[$base+['account_id'=>0],422,'invalid identifier rejected'],[$base+['company_id'=>3],422,'scope override rejected']]as[$query,$expected,$name]){Auth::forgetGuards();Auth::shouldUse('web');Auth::guard('web')->setUser($user);$r->setUserResolver(fn()=>$user);$r->query->replace($query);$actual=null;try{$controller->report($r,'account-ledger',app(ComposedLedger::class));}catch(Symfony\Component\HttpKernel\Exception\HttpExceptionInterface$e){$actual=$e->getStatusCode();}catch(Illuminate\Validation\ValidationException){$actual=422;}$ok($actual===$expected,$name);} Auth::forgetGuards();Auth::shouldUse('web');Auth::guard('web')->setUser($user);$r->setUserResolver(fn()=>$user);$r->query->replace($base);$response=$controller->report($r,'trial-balance',app(ComposedLedger::class));$ok($response->getStatusCode()===200&&$response->getData(true)['kind']==='trial_balance','valid read unaffected');file_put_contents($work.'/accounting-report-boundaries.json',json_encode(['passed'=>true,'checks'=>$checks,'business_commands'=>0,'new_rights'=>0],JSON_PRETTY_PRINT));echo json_encode(['passed'=>true,'checks'=>count($checks),'proof'=>$work.'/accounting-report-boundaries.json']).PHP_EOL;