Renter Loop · Concierge Journey
Goal
Operationalise the concierge mechanism that ADR 0003 establishes as Rentiful's defining feature — Learn → Monitor → Share → Feedback — so that each renter's profile tightens through every interaction and the right unit is surfaced proactively rather than searched for. The cycle closes itself: every signal captured in Feedback feeds back into Learn, producing a tighter profile and a more justified next surface.
This journey is not a one-shot funnel. It is the standing operating loop a renter is in from the moment they enter the Renter Loop until they exit (signed lease, archived, or unsubscribed).
Entry conditions
- Renter has entered the Renter Loop via
renter-loop.initiation.conversation-initiation. - A conversation exists in
platform.conversation-infrastructurewith at least the four qualification fields captured (location, bedrooms, budget, timescale).
Stages
The four stages map directly onto ADR 0003's Learn / Monitor / Share / Feedback model. The cycle revolves continuously; Feedback → Learn is a transition, not an exit.
1 · Learn
Build and maintain the renter profile progressively through the conversation, not via a single upfront form. The profile is alive — it absorbs every preference signal the renter provides, every response to a surfaced option, every change of heart.
Operations referenced:
renter-loop.initiation.qualification— captures the four-field minimum.renter-loop.initiation.profile-building— enriches the profile continuously across the conversation.
2 · Monitor
Watch the market against active profiles in near-real-time. Monitor is not a discrete operation — it is a standing dependency on platform.unit-index keeping inventory state current and consumable. The Share stage reads from this state.
Operations referenced: (none — Monitor is a platform-capability dependency, not an operation)
The honest-brokerage rule in ADR 0003 governs this stage's exit: if no option in the current inventory state is justifiable against any active renter's brief, the journey stays in Monitor. Silence is correct behaviour.
3 · Share
When a justifiable match exists for a renter's current brief, surface it in the conversation with explicit per-unit reasoning. When nothing is justifiable, the concierge stays silent (or sends a nurture touch that does not claim to be a match).
Operations referenced:
renter-loop.matching.recurring-listings-digest— standing portal-style touch on a tunable cadence.renter-loop.matching.perfect-fit-alert— near-real-time alert for newly-published units that cross the fit threshold against an active profile.
This stage is also where the Viewing Journey can begin — a renter who reacts to a surfaced option with viewing intent enters the Viewing Journey while remaining inside this Concierge Journey for everything else.
4 · Feedback
Every option surfaced produces a signal — too small, too expensive, wrong area, right direction — that updates the profile. The loop closes itself by routing the signal back into Learn.
Operations referenced:
renter-loop.engagement.in-conversation-qa— captures explicit renter responses to surfaced options.renter-loop.engagement.conversational-nurture— keeps the conversation warm in the absence of explicit feedback so signal capture continues.renter-loop.initiation.profile-building— applies captured signals back into the profile. (Same operation as Learn — that's how the loop closes.)
Required transitions
| From | To | Precondition |
|---|---|---|
| Learn | Monitor | Minimum qualification fields captured |
| Monitor | Share | Justifiable match exists for the renter's current brief |
| Monitor | Monitor | No justifiable match — concierge stays silent (per ADR 0003 honest-brokerage rule) |
| Share | Feedback | Option surfaced |
| Feedback | Learn | Signal captured (closes the cycle) |
Failure states
The Concierge Journey's failure states are exactly the ADR 0003 tripwires expressed in journey terms. Numeric thresholds live in renter-loop/metrics.md.
| Failure state | Description | Handled by |
|---|---|---|
| surfaced-without-justification | Option surfaced in Share without an inspectable per-renter justification. | ADR 0003 honest-brokerage tripwire (unjustified-surfaces fraction). |
| silence-rate-too-low | On days with no brief-matching inventory, options were surfaced anyway. | ADR 0003 silence-rate floor tripwire. |
| feedback-not-captured | Option surfaced but no signal captured back to profile within the defined window. | ADR 0003 feedback-loop-capture tripwire (process-quality dimension 6). |
| stalled-conversation | Conversation sits without progression beyond natural cadence. | renter-loop.engagement.stuck-conversation. |
Enforcement notes
- The Concierge Journey is a cycle, not a one-shot. Every revolution should produce a tighter profile and a higher-fit next surface. If the cycle is not visibly tightening, the system is failing its concierge promise even if individual operations look healthy.
- Silence in Monitor is correct behaviour, not failure. ADR 0003's honest-brokerage rule names this explicitly. It must not be overridden by engagement or cadence targets.
- Every surface in Share carries an inspectable justification against the renter's current brief.
- The Renter Loop owner is accountable for the cycle running. The journey itself executes nothing — Operations execute, the journey defines correct progression.