<?php
require __DIR__.'/runner.php';
$p=json_decode(file_get_contents(__DIR__.'/../plan.json'),true);pf2_gate($p);$base=pf2_baseline('/tmp/cdx-prepay-formal-2ddl-root-package-20261011/baseline.json',$p);
$file=$argv[1]??'/tmp/cdx-prepay-full27-C-evidence-20261011/events-initial-stopped.jsonl';pf2_need(hash_file('sha256',$file)==='2cea9b5144493090676fbb7cf49f7898f510445037dba7e5c3f6a658d28d9d0a','Actual original S2 metadata raw SHA');$meta=[];$h=fopen($file,'r');
while(($line=fgets($h))!==false){$e=json_decode($line,true);if(($e['event']??'')==='original-read-result'&&$e['statement']['role']==='created_schema')$meta[$e['statement']['read_query']]=$e['rows'];}fclose($h);pf2_need(count($meta)===10,'Actual S2 ten metadata groups');
$expected=pf2_expected_columns($base['records']['columns']['rows'],true);$summary=[];
foreach($expected as $i=>$column)if(in_array($column['column_name'],['EXPIRE_TIME','PAY_TIME','SHIP_TIME','CREATE_TIME','UPDATE_TIME'],true)){$actual=$meta['columns'][$i];unset($column['table_name'],$actual['table_name']);pf2_equal($column,$actual,'Every actual date0 metadata attribute except object table name');$summary[$column['column_name']]=['type'=>$actual['data_type'],'scale'=>$actual['data_scale'],'default'=>$actual['data_default'],'default_length'=>$actual['default_length'],'nullable'=>$actual['nullable']];}
pf2_need(count($summary)===5,'All five exact date mappings');
$lines=static function($sql){preg_match_all('/^\s*"(?:EXPIRE_TIME|PAY_TIME|SHIP_TIME|CREATE_TIME|UPDATE_TIME)"[^\r\n]*/m',$sql,$m);return array_map('trim',$m[0]);};
$expectedDDL=pf2_expected_ddl($base['records']['table_ddl']['rows'][0]['ddl'],true);pf2_equal($lines($expectedDDL),$lines($meta['table_ddl'][0]['ddl']),'Exact actual S2 emitted five date0/default0 declaration lines');
echo pf2_json(['status'=>'ACTUAL_S2_DATE0_METADATA_AND_DDL_EXACT_PASS','source_sha256'=>hash_file('sha256',$file),'five_dates'=>$summary,'DDL_date_lines'=>$lines($expectedDDL),'DB_connections'=>0,'SQL'=>0])."\n";
