JJijibora
Docs & Product Guide
On this page (3 sections)

Appendix B — Real Estate NATS JetStream KV Lookups

Status: Reference
Sources: datasets/lookups/ (existing lookup schema patterns), AGENTS.md — Sovereign OS / Cosmic Circuit mandate 4

All real estate configuration lives in NATS JetStream KV buckets (SOVEREIGN_LOOKUPS, SOVEREIGN_SCENARIOS, SOVEREIGN_TEMPLATES). The files under datasets/lookups/ are offline seed sources only.


1. Existing Lookup Patterns Reused by Real Estate

Lookup KeyPurposeReal Estate Use
lookup.claims.threshold.v1Quorum threshold VALUES by claim typeService-charge rate approval, defect escalation
lookup.claims.threshold.procurement.v1Procurement amount bands → quorum + approver rolesMaintenance contractor PO approval
lookup.claims.sod.v1Separation-of-duties rules by claim typeDefect inspector ≠ contractor; charge issuer ≠ collector
lookup.claims.sla.v1SLA bindings to KestraDefect response SLA, arrears escalation cadence
lookup.claims.evidence.v1Evidence requirementsPhoto evidence for defects, snags, move-out
lookup.claims.panel.v1Approver panels / role listsNamed approvers per tier (finance, HOA board)
lookup.claims.transition_policy.v1Stage transition policyClaim lifecycle stages per real-estate claim type
lookup.claims.outbox_subjects.v1Outbox subject keysNATS subjects for real-estate playbook events
lookup.entity.indexability.entity.building.v1Indexability for building/space entitiesUnit and common-area resolution

2. Real Estate-Specific Lookups to Declare

These are proposed real estate lookups (values bind at wiring time; no rates/counts/prices invented here):

Lookup Key (proposed)PurposeExample Value Shape
lookup.real-estate.sale.policy.v1Sale rules (holding period, deposit %, handover conditions){holding_period_days: 14, deposit_percent: 10}
lookup.real-estate.lease.policy.v1Lease rules (deposit, renewal notice, grace period){deposit_months: 2, renewal_notice_days: 60}
lookup.real-estate.service-charge.rates.v1Service-charge rate bands by unit type/size{studio: X, one_bed: Y, two_bed: Z}
lookup.real-estate.defect.severity.v1Defect severity bands and response SLAs{P1: emergency_24h, P2: urgent_72h, P3: routine_7d}
lookup.real-estate.amenity.rules.v1Amenity booking rules (slot length, guest limits){slot_minutes: 60, max_guests: 2}
lookup.real-estate.access.levels.v1Access levels per role{owner: full, tenant: unit+amenities, visitor: host_unit_only}
lookup.real-estate.escalation.ladder.v1Arrears / defect escalation ladder{level1: reminder, level2: notice, level3: legal}

Values, thresholds, cadences, rates, and prices are UNKNOWN in this document and must bind from governed NATS KV at wiring time. No real-estate-specific rates, counts, or prices are hardcoded.


3. Declaration Pattern (offline seed)

json
{
  "schema_id": "lookup.real-estate.service-charge.rates.v1",
  "version": "1.0.0",
  "canonical_subject": "platform.criteria.v1.real-estate.service-charge",
  "canonical_event_type": "charge_rate_definition",
  "pipeline_id": "pipe:jijibora:real-estate:service-charge",
  "rate_bands": {
    "studio": {"amount": "UNKNOWN", "currency": "KES"},
    "one_bedroom": {"amount": "UNKNOWN", "currency": "KES"},
    "two_bedroom": {"amount": "UNKNOWN", "currency": "KES"}
  }
}

Seeded to SOVEREIGN_LOOKUPS via scripts/seed-nats-kv-declarative.mjs; runtime reads KV only.