Skip to content

Verification Sequence Plan

This document defines the logical order for verifying the Modular Monolith. Testing must respect data dependencies: you cannot verify a "Vote" (Governance) without a "Unit Owner" (Community).

Dependency Graph

graph TD
    A[Foundation: Auth & Users] --> B[Community: Matrix & Directory]
    B --> C[Operations: Vendors & Assets]
    B --> D[Finance: Folios & Accounts]
    B --> E[Governance: Weighted Voting]
    C --> F[Operations: Tickets & Logs]
    D --> G[Finance: Ledger & Budget]
    F --> H[Unified: Intelligence & Audit]
    G --> H

Phase 1: The Bedrock (Community & Data)

Goal: Establish the "Who" and "Where". Without this, no other module can function correctly.

1.1 Identity & Directory

  • Dependencies: packages/foundation/auth
  • Data Source: seedUsers(), seedDirectory()
  • Verification Steps:
  • Confirm specific personas exist: god-1, admin-1, res-101.
  • Verify directory_profiles contain correct context (e.g., "Board Chairman").
  • Critical Check: Ensure privacy settings are respected (e.g., Guest phone number is hidden).

1.2 Property Matrix (The Graph)

  • Dependencies: packages/data/seeds/assets
  • Data Source: seedProperties(), seedMassiveCommunityGraph()
  • Verification Steps:
  • Verify Unit 101 exist and is linked to res-101.
  • Verify "Deed" object exists linking res-101 to 101.
  • Critical Check: Verify "Tycoon" scenario (One owner, multiple units) triggers correct Voting Weight calculation.

Phase 2: Operational Context

Goal: Establish the "What" and "How". Entities that service the community.

2.1 Vendors & Staff

  • Dependencies: Phase 1.1
  • Data Source: seedUsers() (Staff), seedMassiveCommunityGraph (Vendors)
  • Verification Steps:
  • Verify "Otis Elevator" exists as a Vendor profile.
  • Verify "Concierge" staff profile exists.

2.2 Shared Assets

  • Dependencies: Phase 1.2
  • Data Source: seedProperties() (Cistern)
  • Verification Steps:
  • Verify "Main Water Cistern" asset exists.
  • Check for Telemetry data points (48h history).

Phase 3: Transactional Modules

Goal: Validation of Business Logic. These tests can run in parallel only after Phase 1 & 2 are verifying.

3.1 Finance (The Ledger)

  • Dependencies: Phase 1.2 (Units)
  • Data Source: seedFinance()
  • Verification Steps:
  • Folios: Verify Unit 101 has a Folio with $0.00 balance.
  • Products: Verify "HOA Dues" product exists.
  • Ledger: Manual Action req: Post a charge to Unit 101 and verify Folio update.

3.2 Operations (Tickets)

  • Dependencies: Phase 2.1 (Vendors), Phase 1.2 (Units)
  • Data Source: PENDING (seedOperations is currently skipped)
  • Verification Steps:
  • Access: Verify Gate Log entry for res-101.
  • Tickets: Create a ticket for "Broken Elevator" -> Assign to "Otis Elevator".

3.3 Governance (The Vote)

  • Dependencies: Phase 1.2 (Ownership/Deeds)
  • Data Source: seedGovernance()
  • Verification Steps:
  • Proposals: Verify "AGM 2024" exists.
  • Voting: Log in as "Tycoon" -> Cast Vote.
  • Validation: Ensure vote counts as 1.5% (aggregate of all units) vs single unit 0.1%.

Phase 4: Intelligence & Audit

Goal: Aggregation and Insight.

4.1 Audit Log

  • Dependencies: All Transactional Modules
  • Verification Steps:
  • Verify the "Vote Cast" event appears in the immutable Audit Log.

4.2 Intelligence

  • Dependencies: Phase 2.2 (Telemetry), Phase 3.2 (Logs)
  • Verification Steps:
  • Verify "Cistern Low" signal is generated from telemetry data.

Version History

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