Skip to content

Persona Book Reconciliation: Community Directory Alignment

This document reconciles the 2026.2 Deep Graph Persona Book (01_B_PERSONA_BOOK.md) with the implemented Community Directory refactor.

1. Alignment & Successes

The current implementation successfully mirrors the core layers defined in the Persona Book: - Taxonomy Parity: The high-level types (OWNER, RESIDENT, STAFF, VENDOR, GOVERNANCE) are 1-to-1 with the ontology. - Pivot Model: The implementation of People ↔ Assets ↔ Services correctly handles the "Context" layer described in the book.


2. Identified Gaps & Unforeseen Issues

Gap A: The "Designated Voter" Conflict

  • Persona Book: States Primary Owner is the Voter. Co-Owners have 0 vote unless designated.
  • Current implementation: indiviso is calculated at the Unit level. We lack a isDesignatedVoter boolean on the OWNER persona to handle unit-level tie-breaking for assemblies.
  • Impact: Multi-owner units might double-count votes or fail to provide a single clear vote in automated quorum calculations.
  • Decision our original position still stands voting is done by the primary voter that votes the full Divizio weight unless the full weight is delegated to a co-owner via proxy.

Gap B: STR (Short-Term) Lockdown

  • Persona Book: STRs are strictly Restricted View. No Guest Passes, No Social.
  • Current implementation: Persona metadata is generic. We need to explicitly seed the capabilities for a SHORT_TERM_GUEST to exclude [PROP-GUEST-PASS].
  • Impact: Without explicit capability filtering, STRs might accidentally inherit Resident-level rights.
  • Decision our prior definition still holds true for STR's
  • Problem: The Persona Book assumes a human "Representative" but doesn't detail the data link for a Company that owns a unit.
  • Requirement: DirectoryProfile needs a strict representativeId link when type === 'legal_person'.
  • Decision: when indicating a illegal person, we also have to capture the primary or the responsible individual that acts as the company agent as any other as another individual recorded as an owner agent.

Gap D: The "Secretary" Hybrid Role

  • Problem: The Board Secretary can be an Owner (Voting) or Staff (Non-Voting).
  • Current implementation: Governance personas are flat.
  • Requirement: Add an isVotingMember flag to the GOVERNANCE persona schema.
  • Decision agree with this requirement

3. Reconciliation Plan

1. Schema Hardening

[!TIP] Add isVotingMember: boolean to the Persona schema to resolve the Secretary/Co-Owner voting conflict.

Agreed

2. Capability Seeding

  • Update the migrate-directory.ts or a new seed-capabilities.ts to strictly map the Capability IDs from the Persona Book to the new Persona Types.
  • Agreed

3. Representative Linking

  • Formalize the relationships array in DirectoryProfile to distinguish between "Co-Owner" and "Legal Representative" for corporate entities. Agreed.