Home / Ops / More in this area
Updated Jul 02, 2026 · Affirmology_ProfileCanonicalSource_v1.md
Jeff's directive, logged so it is permanent and applies to any audio for anyone, from anywhere.
The per-person Profile record is the SINGLE CANONICAL SOURCE from which the Origin Soul Song and ALL future audios and readings for that person are created. Systems do NOT recompute chart data fresh each time. They read from the stored Profile.
Stored three ways (cloud DB profile table + R2 report file + Airtable fields/link), tracked by
id, email, and name:
- Raw birth inputs exactly as typed (date, exact time, location).
- Full computed chart, every system, to the degree: western astrology (with houses, asteroids,
nodes, Lilith, Part of Fortune, Vertex), Human Design, Gene Keys, numerology, Vedic.
- Current transits + progressions.
- A deep read (top-10, who they are, what they are navigating, marketing angles).
- (Name-based numerology intentionally excluded for now.)
Jeff's directive (2026-07-02): if a person comes to the demo (or anywhere) using ANY of their emails, we must NOT regenerate their profile. Check whether a record already exists first, and if it does, DELIVER FROM THE EXISTING PROFILE for their Soul Song (and any audio). Rules: - Match cascade before generating: email (including ALL of a person's aliases) -> exact birth info (date + time + location). NEVER match on name alone (two different people share names, e.g. the two Alexes). A match = same person. - Multi-email / aliases: one profile answers to multiple emails (add an alias list, not a second row). Colin currently has two rows (cjacobsandassoc@gmail.com, colinconnection@gmail.com) to collapse into one on this round. - Reuse, don't regenerate: if a match is found and the birth data is identical, deliver the Soul Song / audio from the STORED profile. No chart recompute, no new deep read, no wasted money. - Recompute only on correction: if a match is found but the birth data CHANGED (they fixed a typo), update and recompute the profile so it reflects the corrected input; every future audio then flows from the corrected profile.
build_and_store_profile) as the canonical record. DONE (demo intake).get_profile read-path (Hermes/Sophia/oracles), no recompute. TO BUILD.profile-is-canonical-source.Affirmology_PROJECT_STATE.md at the top of the engine/pipeline section.api/profile_report.py (build) + the Profile table + build_and_store_profile (store);
the render-reads-from-Profile wiring is the pending careful change.