<?php
/**
 * ═══════════════════════════════════════════════════════════════════════
 *  TIS (TOPIC INTELLIGENCE SCANNER) — INTEGRATION PATCH
 * ═══════════════════════════════════════════════════════════════════════
 *
 *  This file documents the EXACT changes needed to integrate TIS
 *  into the Damalion Blog AI core plugin.
 *
 *  TIS crawls the entire site monthly, classifies all content by topic,
 *  identifies strategic content gaps, and pushes directives to bots.
 *
 * ═══════════════════════════════════════════════════════════════════════
 */


// ─────────────────────────────────────────────────────────────────────
//  1. MAIN PLUGIN FILE (damalion-blog-ai.php) — Load TIS classes
// ─────────────────────────────────────────────────────────────────────
//
//  Add these lines AFTER the SEO Sniper loading block (~line 420):
//
//    // --- TIS module — Topic Intelligence Scanner (monthly site-wide analysis) ---
//    if ( file_exists( DBA_PLUGIN_DIR . 'tis/class-tis-crawler.php' ) ) {
//        require_once DBA_PLUGIN_DIR . 'tis/class-tis-crawler.php';
//        require_once DBA_PLUGIN_DIR . 'tis/class-tis-analyzer.php';
//        require_once DBA_PLUGIN_DIR . 'tis/class-tis-recommender.php';
//        require_once DBA_PLUGIN_DIR . 'tis/class-tis-scheduler.php';
//        DBA_TIS_Scheduler::get_instance();
//        DBA_TIS_Scheduler::schedule();
//        define( 'DBA_TIS_LOADED', true );
//        error_log( 'DBA TIS: Module loaded' );
//    }
//

// ─────────────────────────────────────────────────────────────────────
//  2. ADMIN LOADING (same file, ~line 455, in the is_admin() block)
// ─────────────────────────────────────────────────────────────────────
//
//  Add these lines inside the is_admin() block, after the SEO Sniper admin:
//
//        if ( defined( 'DBA_TIS_LOADED' ) && DBA_TIS_LOADED ) {
//            require_once DBA_PLUGIN_DIR . 'tis/class-tis-admin.php';
//            DBA_TIS_Admin::get_instance();
//        }
//


// ─────────────────────────────────────────────────────────────────────
//  3. PLUGIN DESCRIPTION UPDATE (line 4)
// ─────────────────────────────────────────────────────────────────────
//
//  Update the Description line to mention TIS:
//
//    * Description: ... SEO Sniper competitive content engine,
//      and TIS (Topic Intelligence Scanner) for site-wide content gap analysis.
//    * Version: 2.17.0
//


// ─────────────────────────────────────────────────────────────────────
//  4. CONFLICT CENTER — Register TIS module (optional but recommended)
// ─────────────────────────────────────────────────────────────────────
//
//  If using Conflict Center, TIS already calls:
//    DBA_Conflict_Center::acquire( 'tis', self::CRON_HOOK )
//    DBA_Conflict_Center::release( 'tis' )
//
//  Add TIS to the timing map in class-conflict-center.php:
//
//    'tis' => array(
//        'label'     => 'TIS — Topic Intelligence Scanner',
//        'cron_utc'  => '03:00',
//        'days'      => array( '1st of month' ),
//        'posts'     => 0,
//        'api_calls' => '~50 (if AI mode)',
//        'enabled'   => defined( 'DBA_TIS_LOADED' ),
//        'has_lock'  => true,
//    ),
//


// ═══════════════════════════════════════════════════════════════════════
//  GENERATOR INTEGRATION — How each bot consumes TIS directives
// ═══════════════════════════════════════════════════════════════════════
//
//  TIS provides two integration points:
//
//    A) SYSTEM PROMPT INJECTION (like Kaizen)
//    B) DIRECTIVE PROGRESS TRACKING (mark completed tasks)
//
//  Both are ONE-LINE integrations.
//


// ─────────────────────────────────────────────────────────────────────
//  5. LUXSTRAT GENERATOR (class-luxstrat-generator.php)
// ─────────────────────────────────────────────────────────────────────
//
//  In the method that builds the system prompt, ADD after the Kaizen line:
//
//    // Kaizen learning context (already exists):
//    $kaizen_context = DBA_Kaizen::get_learning_context();
//    $system_prompt .= $kaizen_context;
//
//    // >>> NEW: TIS strategic priorities
//    if ( class_exists( 'DBA_TIS_Recommender' ) ) {
//        $system_prompt .= DBA_TIS_Recommender::get_generator_context( 'luxstrat' );
//    }
//
//  After a post is created that matches a TIS directive:
//
//    // >>> NEW: Track TIS directive progress
//    if ( class_exists( 'DBA_TIS_Recommender' ) ) {
//        // Match subject to directive target (simple keyword check)
//        $tis_directives = DBA_TIS_Recommender::get_directives_for_bot( 'luxstrat' );
//        foreach ( $tis_directives as $dir ) {
//            foreach ( $dir['keywords'] as $kw ) {
//                if ( stripos( $subject, $kw ) !== false || stripos( $title, $kw ) !== false ) {
//                    DBA_TIS_Recommender::mark_directive_progress( 'luxstrat', $dir['target_label'] );
//                    break 2;
//                }
//            }
//        }
//    }
//

// ─────────────────────────────────────────────────────────────────────
//  6. GEOBOT GENERATOR (class-geobot-generator.php)
// ─────────────────────────────────────────────────────────────────────
//
//  Same pattern as LuxStrat:
//
//    if ( class_exists( 'DBA_TIS_Recommender' ) ) {
//        $system_prompt .= DBA_TIS_Recommender::get_generator_context( 'geobot' );
//    }
//

// ─────────────────────────────────────────────────────────────────────
//  7. NEWSBOT GENERATOR (class-newsbot-generator.php)
// ─────────────────────────────────────────────────────────────────────
//
//    if ( class_exists( 'DBA_TIS_Recommender' ) ) {
//        $system_prompt .= DBA_TIS_Recommender::get_generator_context( 'newsbot' );
//    }
//

// ─────────────────────────────────────────────────────────────────────
//  8. LATAM SCHEDULER (class-latam-scheduler.php)
// ─────────────────────────────────────────────────────────────────────
//
//    if ( class_exists( 'DBA_TIS_Recommender' ) ) {
//        $system_prompt .= DBA_TIS_Recommender::get_generator_context( 'latam' );
//    }
//

// ─────────────────────────────────────────────────────────────────────
//  9. EASTERN EUROPE SCHEDULER (class-eeurope-scheduler.php)
// ─────────────────────────────────────────────────────────────────────
//
//    if ( class_exists( 'DBA_TIS_Recommender' ) ) {
//        $system_prompt .= DBA_TIS_Recommender::get_generator_context( 'eeurope' );
//    }
//

// ─────────────────────────────────────────────────────────────────────
//  10. STARTUP HUB GENERATOR (class-startup-hub-generator.php)
// ─────────────────────────────────────────────────────────────────────
//
//    if ( class_exists( 'DBA_TIS_Recommender' ) ) {
//        $system_prompt .= DBA_TIS_Recommender::get_generator_context( 'startup-hub' );
//    }
//

// ─────────────────────────────────────────────────────────────────────
//  11. SEO SNIPER INTEGRATION
// ─────────────────────────────────────────────────────────────────────
//
//  In class-seo-sniper-admin.php, add a "TIS Suggestions" section
//  to the keyword input area:
//
//    if ( class_exists( 'DBA_TIS_Recommender' ) ) {
//        $suggestions = DBA_TIS_Recommender::get_sniper_suggestions();
//        if ( ! empty( $suggestions ) ) {
//            echo '<div class="tis-suggestions">';
//            echo '<h4>🔬 TIS-Suggested Keywords</h4>';
//            foreach ( $suggestions as $s ) {
//                echo '<button class="tis-suggest-kw" data-kw="' . esc_attr($s['keyword']) . '">';
//                echo esc_html($s['keyword']);
//                echo ' <span class="priority-badge priority-' . esc_attr($s['priority']) . '">' . esc_html($s['priority']) . '</span>';
//                echo '</button>';
//            }
//            echo '</div>';
//        }
//    }
//


// ═══════════════════════════════════════════════════════════════════════
//  HOW THE PIPELINE WORKS (end-to-end)
// ═══════════════════════════════════════════════════════════════════════
//
//  1. TIS runs monthly (or manually):
//     - Crawls all pages/posts from WP database
//     - Classifies each by topic (keywords + optional AI)
//     - Aggregates site-wide topic distribution
//     - Analyzes coverage against strategic targets
//
//  2. TIS Recommender generates recommendations:
//     - "Critical gap: RAIF only has 2 pages, need 8 more"
//     - "Setup of SOPARFI: Grade D — only 3 pages in titles"
//     - Pushes directives to relevant bots
//
//  3. Bots consume TIS directives during generation:
//     - LuxStrat reads: "PRIORITIZE RAIF and SOPARFI topics"
//     - GeoBot reads: "Focus on company formation"
//     - AI generates content aligned with strategic gaps
//
//  4. Next month's scan shows progress:
//     - "RAIF: Grade D → Grade C (+5 pages)"
//     - "SOPARFI: Grade C → Grade B (+3 pages)"
//     - Trends tracked in scan history
//
//  5. SEO Sniper gets keyword suggestions from TIS:
//     - Competitive analysis focused on strategic targets
//     - Generates counter-content for identified gaps
//
// ═══════════════════════════════════════════════════════════════════════
