bootstrap($app); (new LoadConfiguration)->bootstrap($app); $c = $app->make('config')->get('database.connections.'.$app->make('config')->get('database.default')); throw_unless(($c['driver'] ?? '') === 'pgsql' && empty($c['url']) && (int) $c['port'] !== 55441 && ! str_ends_with($c['database'], '_test'), RuntimeException::class, 'Explicit non-QA PostgreSQL configuration required for this read-only inspection.'); $pdo = new PDO('pgsql:host='.$c['host'].';port='.$c['port'].';dbname='.$c['database'], $c['username'], $c['password'], [PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION]); $pdo->exec('BEGIN TRANSACTION ISOLATION LEVEL REPEATABLE READ READ ONLY'); try { $proof = ['captured_at' => gmdate('c'), 'identity' => $pdo->query("SELECT current_database() AS database,inet_server_port() AS port,current_setting('transaction_read_only') AS read_only")->fetch(PDO::FETCH_ASSOC), 'migrations' => $pdo->query("SELECT migration FROM public.migrations WHERE migration IN ('2026_10_09_030000_extend_opportunity_resources','2026_10_10_040000_create_portal_profile_authorization','2026_10_09_190000_prepare_investor_path','2026_10_10_050000_extend_organization_country') ORDER BY migration")->fetchAll(PDO::FETCH_COLUMN), 'organization_country_columns' => $pdo->query("SELECT column_name FROM information_schema.columns WHERE table_schema='public' AND table_name='organizations' AND column_name IN ('incorporation_country_code','incorporation_country_provenance') ORDER BY column_name")->fetchAll(PDO::FETCH_COLUMN), 'organization_count' => (int) $pdo->query('SELECT count(*) FROM public.organizations')->fetchColumn(), 'active_manifest_sha256' => hash_file('sha256', $root.'/public/build/manifest.json'), 'active_writes' => 0, 'backup_renewed' => false]; } finally { $pdo->exec('ROLLBACK'); } file_put_contents($root.'/storage/app/private/investmoz-v2/portal-audit/next-active-readonly-20261010.json', json_encode($proof, JSON_PRETTY_PRINT | JSON_THROW_ON_ERROR)); echo json_encode($proof, JSON_THROW_ON_ERROR).PHP_EOL;