JJijibora
Docs & Product Guide
On this page (9 sections)
NoProcess FamilyCanonical CNS TypeReal Estate Application
1Shopping Lists & Approvals (Requisition-to-PO)cns://workflow/requisitionMaintenance procurement, common-area supplies, contractor PO → ERPNext
2Task Lists, Checklists & Gatescns://workflow/taskSnagging checklist, amenity setup checklist, move-in inspection
3Schedules & Resource Bookingcns://workflow/scheduleUnit viewings, amenity bookings, contractor scheduling, lease start
4Meeting Notes & Decision Recordscns://knowledge/meeting_noteHOA board meetings, AGM minutes, construction progress meetings
5Threaded Discussions & RFCscns://collaboration/discussionResident communications, HOA discussions, vendor negotiations
6Mood Boards & Creative Reviewcns://creative/mood_boardShow unit design, common-area refurbishment, branding review
7Cross-Org B2B Joint Procurementcns://federation/procurementBulk purchasing across phases/developments, vendor frameworks
8Asset Maintenance & Remediationcns://operations/work_orderCommon-area maintenance, unit defect remediation, vendor dispatch

Each family is implemented with zero bespoke tables, declarative thresholds (NATS KV lookups), PoCE-governed transitions, and external mediation via integration_entity.


2. Process 1 — Requisition-to-PO (Maintenance Procurement)

Maps to Comprehensive Business Processes Specification §2.

Canonical claim: cns://workflow/requisition

Truth edges: requisition→submitted_by→facilities manager; requisition→charges_budget→resource:budget_service_charge; requisition→requires_gate→tiered approval claim.

Declarative threshold policy (lookup.claims.threshold.procurement.v1): tiers compute approval level. Bands are data; the resolver never defaults — no matching band refuses instead of inventing min_approvals.

External mediation: Approved requisition → Camel → ERPNext POST /api/resource/Purchase Order (idempotency key = requisition id); PO number recorded in integration_entity (system: "erpnext").

Guard rails: No PO without PoCE-approved requisition; no synthetic vendor IDs; ERPNext owns fiscal GL/tax; Sovereign owns approval state. Fail closed (502) if ERPNext unreachable.


3. Process 2 — Task Lists, Checklists & Gates (Snagging & Move-In)

Maps to Comprehensive Business Processes Specification §2 (Task Lists & Approvals).

Canonical claim: cns://workflow/task

Real estate instantiation: Snagging task per unit (snag-U-1001), move-in inspection task, common-area setup checklist.

Flow:

  1. Trigger (unit completion / move-in date) creates task claim bound to unit resource via truth_edge
  2. Task assigned to inspector/contractor via truth_edge; checklist bound from lookup.claims.checklist.v1
  3. Inspector completes items; records photo evidence (MinIO, SHA-256 in claim.evidence)
  4. Stage gate: sign-off required (SoD: inspector ≠ contractor; lookup.claims.sod.v1)
  5. fn::poce::record_step at sign-off; unit → READY_FOR_HANDOVER

Guard rails: No auto-sign-off without inspection; no unit handed over while snag task OPEN; no invented checklist items.

Evidence: Task claim, checklist, photo hashes, sign-off, PoCE receipt.


4. Process 3 — Schedules & Resource Booking (Viewings & Amenities)

Maps to Comprehensive Business Processes Specification §2 (Schedules & Resource Booking).

Canonical CNS: cns://workflow/schedule

Real estate instantiation:

  • Unit viewing (prospective buyer → unit, date/time, agent) — time-bounded lease, no double-booking
  • Amenity booking (resident → gym/pool/clubhouse, date/time slot) — resource lease
  • Contractor scheduling (maintenance crew → common area, date/time)
  • Lease commencement (tenant → unit, lease start date)

SoR boundary: Sovereign owns booking availability; access-control system owns physical credentials.

Guard rails: No double-booking (lease conflict check); no booking without resource resolution (unknown/ambiguous unit or amenity refuses); no auto-release of held blocks.


5. Process 4 — Meeting Notes & Decision Records (HOA & Board)

Maps to Comprehensive Business Processes Specification §4.

Canonical CNS: cns://knowledge/meeting_note

Real estate instantiation: HOA board meeting minutes, AGM records, construction progress meetings, developer-HOA handover meetings.

Flow: Discussion thread created → Synapse Matrix room → integration_entity mirror → meeting note claim with decisions, action items, owners, due dates. Governance promotion button: "Promote to Formal Resolution" → governance resolution claim (s165).

Guard rails: Synapse is real-time transport; Sovereign is authoritative record. No resolution from chat alone.


6. Process 5 — Threaded Discussions & RFCs (Resident & HOA Comms)

Maps to Comprehensive Business Processes Specification §5.

Canonical CNS: cns://collaboration/discussion

Real estate instantiation: Residents' association channel, HOA committee rooms, vendor negotiation threads, construction update groups.

External mediation: Synapse (Matrix :8008). E2E encrypted rooms; room_id stored in integration_entity; inbound Matrix events mirrored as cns://collaboration/discussion_comment claims preserving cryptographic provenance.

Guard rails: No governance decision from chat; message stream is transport, claim is record.


7. Process 6 — Mood Boards & Creative Review (Show Unit & Refurbishment)

Maps to Comprehensive Business Processes Specification §7.

Canonical CNS: cns://creative/mood_board

Real estate instantiation: Show unit design, common-area refurbishment (lobby, gym, pool), landscaping review, development branding.

External mediation: Gotenberg (:3094) export route → signed PDF → MinIO → hash on claim.

Guard rails: No asset pinned without SHA-256; no export without board claim; no client/resident delivery without sign-off.


8. Process 7 — Cross-Org B2B Joint Procurement (Multi-Development)

Maps to Comprehensive Business Processes Specification §8 and Cross-Organization Federation & Federated PoCE Specification.

Canonical CNS: cns://federation/procurement

Real estate instantiation: Developer aggregates maintenance, landscaping, or security demand across multiple developments for volume pricing; federated escrow release on multi-site delivery verification.

Flow: Federated requisition (is_federated: true) bound to peer development scopes via record_federation_binding (s184); each development signs quota with BBS+ key (selective disclosure); shared PoCE escrow session; supplier payment released on multi-site delivery verification.

Guard rails: Authority verdict required before award; missing verdict blocks; no autonomous escrow release; selective disclosure — no internal margin leakage.


9. Process 8 — Asset Maintenance & Remediation (Common Areas & Defects)

Maps to Comprehensive Business Processes Specification §9.

Canonical CNS: cns://operations/work_order

Real estate instantiation: Common-area work orders (lift, landscaping, pool, security lighting), unit defect/snag remediation, vendor dispatch, spare-parts consumption.

Execution pipeline:

  1. Resident/staff submits defect claim (cns://operations/incident) with photo evidence
  2. Camel → OpenMAINT card (openmaint.v1.cmd.workorder.create); WO id in integration_entity
  3. OpenMAINT schedules technician; status syncs back over NATS to the task claim
  4. Technician completes work, logs parts; parts deducted from resource:budget_maintenance or service-charge fund
  5. Expert sign-off mandatory (SoD); fn::poce::finalize_session; work order closed

Guard rails: No auto-close without expert sign-off; no parts deduction without close; no synthetic technician/vendor IDs.

SoR boundary: Sovereign/OpenMAINT — Sovereign wins on booking availability and sign-off; OpenMAINT wins on asset spec and depreciation.


10. Honest Limits

  • No process auto-settles payment without PoCE finalize (machines propose, rules dispose — S-12 — Sourcing and Optimization: First-Class Capabilities (stakeholder)).
  • No process invents rates, counts, or prices; all values bind from governed NATS KV lookups.
  • If an external peer (ERPNext, OpenMAINT, solver-gateway, payments) is down, the process fails closed with 502/503 — never a synthetic schedule or PO.