table('fx_versions')->count();$host->beginTransaction();try{ $v=(int)$host->table('fx_versions')->where('kind','assessment')->max('version');[$prepared]=$command(13,$input('assessment','prepare',$v));$template=(array)$host->table('fx_versions')->find($prepared['id']);unset($template['id']);$previous=$prepared['id'];for($i=1;$i<=127;$i++){$template['previous_id']=$previous;$template['version']=$prepared['version']+$i;$previous=$host->table('fx_versions')->insertGetId($template);} $selectFiscal(17);$p=$w->listing(17,['kind'=>'assessment','per_page'=>25]);$all=[];for($i=1;$i<=$p['events']['last_page'];$i++)$all=array_merge($all,$w->listing(17,['kind'=>'assessment','per_page'=>25,'page'=>$i])['events']['data']);$ok(count($all)===$before+128&&count(array_unique(array_column($all,'id')))===count($all),'all128 metadata fixture versions plus prior regression history reached without overlap');$a=$w->listing(17,['kind'=>'assessment','per_page'=>100]);$a2=$w->listing(17,['kind'=>'assessment','per_page'=>100,'page'=>2]);$ok(count($a['events']['data'])===100&&count($a2['events']['data'])===$before+28,'pages100/remaining match25 universe'); $reject(fn()=>$w->listing(17,['kind'=>'anything']),422,'kind filter constrained');$reject(fn()=>$w->listing(17,['page'=>0]),422,'page lower bound');$reject(fn()=>$w->listing(17,['tenant_id'=>2]),422,'no client tenant override'); $attempt=function($fn)use($host){$host->beginTransaction();try{$fn();return false;}catch(Illuminate\Database\QueryException){return true;}finally{$host->rollBack();}}; $ok($attempt(fn()=>$host->table('fx_versions')->where('id',$previous)->update(['reason'=>'Attempted alteration of QA history'])),'SQL history append-only');$bad=$template;$bad['previous_id']=$previous;$bad['version']+=1;$bad['actor_id']=17;$bad['prepared_by']=17;$ok($attempt(fn()=>$host->table('fx_versions')->insert($bad)),'SQL unprivileged writer refused');$bad=$template;$bad['previous_id']=$previous;$bad['version']+=2;$ok($attempt(fn()=>$host->table('fx_versions')->insert($bad)),'SQL skipped version refused');$bad=$template;$bad['previous_id']=$previous;$bad['version']+=1;$bad['action']='review';$bad['state']='reviewed';$bad['actor_id']=14;$bad['prepared_by']=14;$ok($attempt(fn()=>$host->table('fx_versions')->insert($bad)),'SQL mismatched/self preparer refused'); }finally{$host->rollBack();}$ok($host->table('fx_versions')->count()===$before,'pagination and direct SQL fixtures completely reverted');file_put_contents($work.'/iva-boundaries.json',json_encode(['passed'=>true,'checks'=>$checks,'metadata_fixtures'=>128,'workflow_claim'=>false,'rolled_back'=>true,'new_demo'=>false],JSON_PRETTY_PRINT));echo json_encode(['passed'=>true,'checks'=>count($checks),'proof'=>$work.'/iva-boundaries.json']).PHP_EOL;