<?php
declare(strict_types=1);require __DIR__.'/app.php';require __DIR__.'/data.php';$app=coreApp('PREFLIGHT_RETEST');ck(!file_exists($runtime.'/preflight-read.json'),'Retest preflight once');$u=actorId();$user=readNative('AI','SELECT * FROM yoshop_user WHERE user_id=? AND store_id=?',[$u,10001]);ck(count($user)===1&&(int)$user[0]['is_delete']===0,'Same actual marked actor/tenant');$weights=readNative('AI','SELECT * FROM yoshop_user_weight WHERE user_id=? AND store_id=? ORDER BY date DESC',[$u,10001]);ck($weights===[],'Original typed empty-weight oracle unchanged');$staff=readNative('AI',$dm?'SELECT COLUMN_NAME,DATA_TYPE,NULLABLE,DATA_DEFAULT,DATA_LENGTH,DATA_PRECISION,DATA_SCALE FROM USER_TAB_COLUMNS WHERE TABLE_NAME=? ORDER BY COLUMN_ID':'SELECT COLUMN_NAME,DATA_TYPE,COLUMN_TYPE,IS_NULLABLE,COLUMN_DEFAULT,CHARACTER_MAXIMUM_LENGTH,NUMERIC_PRECISION,NUMERIC_SCALE,EXTRA FROM INFORMATION_SCHEMA.COLUMNS WHERE TABLE_SCHEMA=DATABASE() AND TABLE_NAME=? ORDER BY ORDINAL_POSITION',[$dm?'YOSHOP_STAFF':'yoshop_staff']);$protect=protection();saveOnce('preflight-read.json',['actor'=>$u,'tenant'=>10001,'user_fullrows'=>$user,'weight_fullrows'=>$weights,'original_staff_columns'=>$staff,'protection'=>$protect,'source'=>sourceProof(),'HTTP'=>0,'DML'=>0]);echo json_encode(['lane'=>$lane,'preflight'=>true,'cumulative_SQL'=>count(file($runtime.'/sql-budget.jsonl')),'HTTP'=>0,'DML'=>0]),"\n";
