facts(), in_array($this->settings->string('context_strategy'), ContextBuilder::STRATEGIES, true) ? $this->settings->string('context_strategy') : 'window'); } /** * The live facts that shape the context prompt. Exposed so a cached preview can validate them before reuse. * * @return array{site_name: string, site_url: string, user_name: string, date: string, instructions: string, user_instructions: string, site_context: list} */ public function facts(): array { $user = wp_get_current_user(); return [ 'site_name' => (string) get_bloginfo('name'), 'site_url' => home_url('/'), 'user_name' => $user->exists() ? $user->display_name : '', 'date' => wp_date('l, j F Y') ?: gmdate('l, j F Y'), 'instructions' => $this->settings->string('site_instructions'), 'user_instructions' => $this->preferences->instructions($user->ID), 'site_context' => $this->extensions->contextNotes(), ]; } }