Character Lifecycle: Generational patronDeityCode inheritance
Source: docs/planning/DIVINITY-GENERATION-ARCHITECTURE.md § Patron Deity Field: Two-Level Design
Prerequisite for: Divine generational patron deity continuity
Depends on: Character patronDeityCode field (sibling issue)
Summary
Add patronDeityCode to Character Lifecycle's generational data with parental inheritance. When a child is born, Character Lifecycle reads the parents' patronDeityCode and sets the newborn's Character-level patronDeityCode field as an inheritable default. This creates generational divine continuity — a bloodline's patron deity passes to children naturally.
Design (Resolved)
Per DIVINITY-GENERATION-ARCHITECTURE.md:
Birth flow:
Character Lifecycle reads parents' patronDeityCode
→ If present: sets newborn's Character.patronDeityCode (inheritable default)
→ If absent: leaves null (no divine patron by birth)
Override flow (later in life):
Coming of Age / Ceremony / Conversion / God-actor initiative:
Any authorized caller sets Character.patronDeityCode
→ Divine receives character.updated event
→ Auto-bond logic triggers (dissolve old bonds, create new bonds)
Key properties:
- Nullable — the lifecycle doesn't guarantee a patron
- The generational default can be overridden at any time
- "My family worships the war god, but the wisdom god chose me" is a valid narrative
- Standard inheritance logic — same pattern as species, realm, etc.
Schema Changes
Add patronDeityCode (string, nullable) to Character Lifecycle's generational data model in character-lifecycle-api.yaml. This follows the same inheritance pattern as other generational fields.
References
docs/planning/DIVINITY-GENERATION-ARCHITECTURE.md § Patron Deity Field: Two-Level Design
docs/plugins/DIVINE.md § Composability & Architecture (patron deity and auto-bonding)
docs/plugins/CHARACTER-LIFECYCLE.md — Generational inheritance patterns
Character Lifecycle: Generational patronDeityCode inheritance
Source:
docs/planning/DIVINITY-GENERATION-ARCHITECTURE.md§ Patron Deity Field: Two-Level DesignPrerequisite for: Divine generational patron deity continuity
Depends on: Character patronDeityCode field (sibling issue)
Summary
Add
patronDeityCodeto Character Lifecycle's generational data with parental inheritance. When a child is born, Character Lifecycle reads the parents'patronDeityCodeand sets the newborn's Character-levelpatronDeityCodefield as an inheritable default. This creates generational divine continuity — a bloodline's patron deity passes to children naturally.Design (Resolved)
Per DIVINITY-GENERATION-ARCHITECTURE.md:
Birth flow:
Override flow (later in life):
Key properties:
Schema Changes
Add
patronDeityCode(string, nullable) to Character Lifecycle's generational data model incharacter-lifecycle-api.yaml. This follows the same inheritance pattern as other generational fields.References
docs/planning/DIVINITY-GENERATION-ARCHITECTURE.md§ Patron Deity Field: Two-Level Designdocs/plugins/DIVINE.md§ Composability & Architecture (patron deity and auto-bonding)docs/plugins/CHARACTER-LIFECYCLE.md— Generational inheritance patterns