File size: 4,436 Bytes
2ada050
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
# Project Documentation: KP AI Astrologer

## 1. Introduction

This document outlines the architecture, features, and implementation plan for the KP AI Astrologer, a tool for predicting cricket match outcomes using KP astrology.

## 2. System Architecture

The application will be built with a modular architecture to separate concerns and facilitate focused development.

-   **Frontend (`app`):** A Streamlit-based web interface for user input (match details) and displaying the astrological analysis.
-   **Backend Core (`kp_core`):** A Python-based engine responsible for all astrological calculations.

    -   `kp_engine.py`: Handles the generation of the Muhurta chart, planetary positions, cusps, and other core astrological details.

    -   `timeline_generator.py`: Constructs the dynamic Ascendant and Moon timelines based on SSL transitions, ensuring no duplicate entries.

    -   `analysis_engine.py`: Contains the logic for interpreting the astrological data and generating predictive text (Muhurta analysis, timeline verdicts, and comments).

-   **Configuration (`config`):** Stores static data required for calculations, such as Nakshatra lords, Sub lords, etc.
-   **Scripts (`scripts`):** Contains standalone scripts for testing, data generation, or debugging specific functionalities.

## 3. Core Features & Implementation Plan

### Phase 1: Foundation and Core Logic

1.  **Project Setup (Complete):**
    -   [x] Create directory structure.
    -   [x] Initialize `README.md` and `PROJECT_DOCUMENTATION.md`.
    -   [ ] Create `requirements.txt`.

2.  **Path Correction:**
    -   Implement the `sys.path` modification at the entry point of the application (`app/main_dashboard.py`) to ensure all modules are imported correctly across the project structure.

3.  **Core KP Engine (`kp_core/kp_engine.py`):**
    -   Port and adapt the core KP functions from the reference repository.
    -   Develop functions to calculate:
        -   Ascendant and Moon longitude.
        -   Planetary positions for a given time and location.
        -   Cusp positions.
        -   Planetary lordships (Nakshatra, Sub, Sub-Sub).
        -   House significators.

### Phase 2: Timeline Generation

1.  **Timeline Generator (`kp_core/timeline_generator.py`):**
    -   Implement the logic to calculate SSL transition times with second-level precision for a given celestial body (Ascendant or Moon).
    -   The timeline should be generated for the duration of the match.
    -   Incorporate the de-duplication logic from the reference project to handle rapid transitions.
    -   The output for each interval should include:
        -   Start and End Time.
        -   Ruling Lords: Nakshatra Lord (NL), Sub Lord (SL), Sub-Sub Lord (SSL).

### Phase 3: Dashboard and UI

1.  **Main Dashboard (`app/main_dashboard.py`):**

    -   Create the Streamlit interface.

    -   **Input Sidebar:**

        -   Date of Match

        -   Time of Match (local)

        -   Timezone

        -   Location (Latitude, Longitude)

        -   Team A (Ascendant)

        -   Team B (Descendant)

    -   **Display Area:**

        -   A tabbed or sectioned layout.

        -   A placeholder for the three main prediction outputs.



### Phase 4: AI Analysis and Final Output



1.  **Analysis Engine (`kp_core/analysis_engine.py`):**

    -   **Muhurta Analysis:** Develop a function that takes the generated Muhurta chart and produces a textual analysis of which team is favored, based on KP principles (e.g., strength of Ascendant lord, cusp significations).

    -   **Timeline Analysis:** Develop a function that iterates through the generated timelines (Ascendant and Moon) and, for each interval, provides:

        -   `Verdict`: "Favors Team A", "Favors Team B", "Neutral".

        -   `Comment`: A descriptive astrological reason (e.g., "SSL is a strong significator for houses 6 & 11, indicating victory over opponents," or "SSL in the star of a planet in the 12th house may cause an unexpected loss/wicket.").



2.  **Integration and Display:**

    -   Integrate the analysis engine with the main dashboard.

    -   On form submission, trigger the full pipeline: Chart -> Timelines -> Analysis.

    -   Display the three distinct outputs clearly in the UI:

        1.  Muhurta Chart Analysis.

        2.  Ascendant CSSL Timeline Table.

        3.  Moon SSL Timeline Table.