Rights Layer Specification

Use Case: Real Estate (Land Ownership)

Status: Draft v0.1.0 — This section is informative.

Scenario

Hana owns a land parcel. Her ownership is grounded in two Sources: the registration of the transfer of ownership in the land registry, and the sale and purchase contract under which she acquired the parcel (referenced through an Agreement Reference). Had she inherited the land instead, the second Source would be of kind inheritance — the model accommodates either without structural change. The parcel is the Object, the land registry office is the registering Authority, and the land registry is the Evidence Source for the current state of title.

Ownership is the richest illustration that kinds live in Actions: one Right carries four Actionsuse, sell, lease, build — each with its own Eligibilities, one requirement per Eligibility. use requires only that Hana is the currently registered owner. sell adds that no registered restriction on disposal is in force. lease pairs registered ownership with the absence of a restriction prohibiting leasing. build carries two requirements of its own: building permission has been granted for the specific project — answered as an Eligibility Response by the municipal building permission office, the issuer competent for that requirement — and the planned building complies with zoning. The Right’s existence never varies across these; only the per-Action Eligibilities do.

Each Eligibility is answered by at most one Boolean Eligibility Response issued from outside the layer: the land registry attests registered ownership and the state of restrictions; the building permission office attests permission and zoning compliance. How they evaluate — registry examination, permit procedure, planning review — is outside Rights Layer; only the verifiable Boolean answers enter the model.

The example carries a full exercise chain for build: Hana applies (ExerciseRequested Event), the building permission office issues true Responses for the permission and zoning Eligibilities (EligibilityResponseIssued Events), the Decision is established because all Responses are true (DecisionEstablished Event), construction proceeds as the Exercise, and ExerciseStarted / ExerciseEnded Exercise Events bracket the work. The Eligibilities of use, sell, and lease are left unanswered in the example, so no Decision exists for those Actions.

Mapping

Rights Layer concept Domain instance
Subject Hana, the registered owner
Object Land parcel 215-3
Right Ownership of the parcel
Source Registration of the ownership transfer; sale and purchase contract (or inheritance)
Authority Land registry office (registrar; Response issuer for ownership requirements); municipal building permission office (Response issuer for build requirements)
Action use; sell; lease; build
Eligibility (use) Currently registered as owner (one requirement)
Eligibility (sell) Two Eligibilities: registered ownership; no registered restriction on disposal
Eligibility (lease) Two Eligibilities: registered ownership; no restriction prohibiting leasing
Eligibility (build) Two Eligibilities: building permission has been granted for the project; the planned building complies with zoning
Eligibility Response (1:1) Ownership and restriction requirements answered by the land registry; permission and zoning requirements answered true by the building permission office. How each evaluates is outside the layer.
Evidence / Evidence Source Registry extract from the land registry; permit record from the building permission register, referenced by the Responses
Decision Established for build because both Responses are verifiable and true; no Decision exists for the unanswered Actions
Exercise / Exercise Event The construction project after the Decision was established; requested, started, ended
Event RightGranted at registration of the transfer; a later transfer would end this Right and ground a new one

Chain Instantiation

flowchart TD
    S1["Source<br/>Registration:<br/>land register entry"] --> R["Right<br/>Ownership of parcel 215-3<br/>(held by Hana)"]
    S2["Source<br/>Contract:<br/>sale and purchase<br/>(or inheritance)"] --> R
    R --> A1["Action<br/>use"]
    R --> A2["Action<br/>sell"]
    R --> A3["Action<br/>lease"]
    R --> A4["Action<br/>build"]
    A4 --> EL1["Eligibility<br/>building permission granted<br/>for the project"]
    A4 --> EL2["Eligibility<br/>zoning compliance"]
    EL1 --> ER1["Response: true<br/>issuer: building permission office"]
    EL2 --> ER2["Response: true<br/>issuer: building permission office"]
    ER1 --> D["Decision<br/>established: all Responses true"]
    ER2 --> D
    D --> EX["Exercise<br/>construction of a dwelling<br/>on the parcel"]
    EX --> EE["Exercise Event<br/>requested / started / ended"]

What Rights Layer Does Not Model

Example

Machine-readable expression: real-estate.json