# Numerology Platform — Step 8D CLEAN UPLOAD — CORRECTED

## Purpose

Step 8D extends the confirmed Step 8C authenticated profile with the next book-v1 cycle layer:

- Four Pinnacle Cycles (the four long-term chapters of the user's life).
- Current-month Power Cycle days and their matching birth-code reasons.
- Pinnacle results are persisted to the existing `pinnacle_results` table.
- Power Cycle days are persisted to the existing `power_cycle_days` table.
- The existing database schema is unchanged.
- The existing authentication, calculator, repeat-calculation fix, and Step 8C dashboard remain in place.

The book-v1 Pinnacle formulas are:

- First Pinnacle = reduced Birth Month + reduced Birth Day.
- Second Pinnacle = reduced Birth Day + reduced Birth Year.
- Third Pinnacle = First Pinnacle + Second Pinnacle.
- Fourth Pinnacle = reduced Birth Month + reduced Birth Year.

The book also defines the first Pinnacle boundary as `36 − Life Path root`, with each following Pinnacle lasting nine years. The four phases are Root Story, Builder's Chapter, Power Chapter, and Legacy Chapter.

The Power Cycle follows the book-v1 rule that a Personal Day becomes a Power Cycle Day when it matches the Day of Birth, Life Path, or Destiny/Expression number.

## Clean one-upload test

1. Download the Step 8D ZIP.
2. Extract it.
3. Upload/merge the `numerology-platform` folder over your **currently confirmed Step 8C** installation.
4. **Do not replace your server's `api/config/database.php` file.** Keep your existing credentials there.
5. **Do not import SQL.**
6. Log in with your existing test account.
7. Open `public/calculator.html`.
8. Run one normal calculation using the same working name/date test you have already used.
9. Confirm the calculation completes successfully.
10. Open `public/dashboard.html`.
11. Confirm the dashboard now contains:
   - Personal Year
   - Personal Month
   - Personal Day
   - Four Pinnacle Cycles
   - The current Pinnacle highlighted
   - Current-month Power Cycle days, where applicable
12. Confirm the existing Life Path, Birth Day, Destiny, Soul Urge, Personality and Present/Missing Numbers still display.
13. Repeat the calculation once more and confirm it still works.

## Expected result

For the book-v1 example `14 August 1983` with Life Path root 7, the Pinnacles are:

- 1st: 4, ages 0–29
- 2nd: 8, ages 29–38
- 3rd: 3, ages 38–47
- 4th: 11, age 47+

This example is also covered by `tests/test-pinnacle-calculator.php`.

## Database safety

- No SQL import is required.
- No existing table is altered.
- No new table is created.
- Existing `pinnacle_results` and `power_cycle_days` tables are used exactly as already present in the verified schema.
- Database credentials are intentionally excluded.

## Correction included in this package

The previous Step 8D package could report **“Life Path must be between 1 and 33.”** because the Power Cycle service read the primary Life Path value before it was populated. This corrected package populates the primary Life Path value and its root first, calculates Pinnacles from the root, and then passes the valid primary Life Path number into Power Cycle processing.

No database schema or credentials are changed.

## If the test fails

Stop and send the exact error/message shown on the page. Do not modify SQL or the database credential file.
