Skip to content

Sub-Domain Blueprint: Community Governance

Domain: Community (governance, occupancy, registry, financials) Logical Sub-Domain: Governance (Decision Making) Physical Packages: @sd/mod-community/governance Related Documents: Data Definition Context: This document defines the Digital Democracy protocols, including Proposals, Voting Logic, and Assembly Management. Status: Stable (v2.5)

1. Mandate

The Governance Sub-Domain creates a Legally Binding digital environment for HOA decision-making. It mirrors the physical "General Assembly" process, automating Quorum calculation, Weighted Voting (Indiviso), and Proxy Delegation, while adhering to Mexican Property Law (Condominium Regime).

2. Capabilities

Capability Description Component
[GOV-PROP-MANAGE] Proposal Management Bilingual drafting with Legal and Vigilance Committee review gates. GovernanceService.createProposal
[GOV-VOTE-CAST] Weighted Voting Calculating voting power based on Property Deed indiviso %. castVote (Deed Integration)
[GOV-MTG-CONTROL] Assembly Lifecycle Managing the "Convocation" to "Certification" flow. Assembly
[GOV-PROXY-ASSIGN] Proxy Delegation Formal assignment of voting rights to another agent. ProxyAssignment
[GOV-QUORUM-CALC] Quorum Logic Real-time validation of attendance vs legal thresholds (e.g. 51%). validateAssemblyQuorum

3. Roadmap & Future Capabilities

Planned features from the Strategic Vision, to be implemented in this domain.

ID Feature Description Priority
[GOV-ELECTION-CONFIG] Election Integrity Configuration Configuration interface for election rules and weighting logic. 🔴 High

3. Process Models

A. The Vote Cast (Digital)

Happy Path: Owner votes on an active proposal.

sequenceDiagram
    participant User
    participant Service as GovernanceService
    participant Deed as DeedService
    participant DB as Firestore

    User->>Service: castVote(proposalId, choice="YES")
    Service->>Deed: getDeedByAsset(assetId)
    Deed-->>Service: Active Deed (Indiviso: 0.052)
    Service->>Service: Validate Active, Unique
    Service->>DB: saveVote(weight=0.052, time=NOW)
    Service->>SignalBus: emit("USER_ACTION", "Vote Cast")

B. Proposal Lifecycle

From Draft to Ballot.

stateDiagram-v2
    [*] --> Draft
    Draft --> PendingReview: Submit
    PendingReview --> VigilanceReview: Legal OK
    VigilanceReview --> Approved: Committee Endorses
    Approved --> Active: Voting Starts (Window Open)
    Active --> Passed: Majority Met & Quorum OK
    Active --> Rejected: Not Met
    Passed --> Enacted: Board Ratifies

4. State Machines

Assembly Status

stateDiagram-v2
    [*] --> Draft
    Draft --> Scheduled: Convocation Sent
    Scheduled --> Active: Meeting Starts
    Active --> Completed: Voting Closed
    Completed --> Certified: Notary Signs
    Certified --> [*]

5. Interface Definitions

GovernanceService

  • createProposal(prop): Promise<Proposal>
  • castVote(vote): Promise<Vote>
  • getVotingPower(userId): Promise<Power[]>
  • listProposalsForAssembly(aid): Promise<Proposal[]>

6. Changelog

Date Author Description Reference
2026-01-24 Antigravity Initial creation Implementation Plan

Version History

Version Date Author Change
0.1.0 2026-01-26 Antigravity Initial Audit & Metadata Injection