Camellia phone line: every breakage, Apr–Oct 2026

Every time Clara's handling of Camellia's main line (303-861-1057, forwarded to Clara's 844 line) failed callers, found from the call records. Also covers how we got here, and what Clara dials today for each customer.

2026-10-21 · Camellia Apartments (JP&Co) · read-only · findings are facts; options are Proposed — pending review · no fix yet (Fede)

Nine breakages in six and a half months; seven reached real callers. About 22 callers had 54 calls or transfers fail (incident rows summed; one caller appears in three incidents; the incident 2 and 8 counts come from the earlier reviews, not from call records). One caller-ID change, made for every customer on Sep 24, caused two of them: Joanna's phone silencing transfers, and the transfer loop. Hand-offs that silently reached nobody took 7 to 14 days to find.

833calls forwarded from the main line to Clara, Apr 3 – Oct 21
7 of 9breakages reached real callers
0caught by an alert before a caller was hurt
Fede's rulings today (Oct 21, from the Trinity DM; not in Slack): "Talk to a person is the right setting." · "All customers work the same, no leftover stuff." · "We need an alert specifically for this loop." · "No fix yet."

Timeline

AprMayJunJulAugSepOctSep 6: merges deploy to every property’s agents again (#7212)1 Webhook down2 Transfer dials text3 Voice quota4 Silent failed transfers5 Shared routing revert6 Calls cut after hello7 Joanna's phone screens8 Nobody to connect9 Transfer loop
Red = real callers affected. Amber = near-miss. Bar length = how long it stayed broken.
#When (MT)What callers gotCallers / callsCauseDetected byTime to detectFix
1Apr 10, 12:42–12:56Busy signal2 / 7The lookup Clara runs before answering failed, on the day of the Vercel move unverifiedUnverified (Fede test 13:11)~29 min inferredUnknown; the 844 line still has no fallback
2May 21 ~12:15 → May 22 ~10:00"I wasn't able to complete the transfer"2 / 3#1276 stored the transfer number as placeholder text {{pm_phone_number}}; Twilio dialed the letters as keypad digitsFede~22 hLive patch, then #1329 plus a test
3Jun 5, 11:40–11:46Cut off after the greeting0 real / 4 testVoice-platform quota ran outFede's test callsImmediateQuota restored; no quota monitor
4Aug 18 → Sep 1Transfer rang out; line dead; nobody told5 dropped / 7 of 19 transfersFailed-transfer notice off at Camellia; no message takenFede, Aug 27 15:36 ("hits the PM personal voicemail… taking this one"); Aug 31 investigation9–11 days#10784: a failed transfer takes a message
5Sep 7, 03:48–04:01(near-miss) routing broke on the shared agent0 / 0Shared prompt change #7260Bench test~8 min (revert opened 03:56); 13 min to fixedRevert #7263
6Sep 16, 15:07–16:37 (the broken shared agent went live 13:39; 15:07 is the first Camellia call it hit)Dead line after the first sentence2 / 12Western Slope call-center change sent an empty value the voice platform rejectsSmith's #alerts post 15:29 ("All LLMs have failed", handed to Fede's lane); WS session 15:5822 min to the alert; 51 min to the WS sessionRevert #8923; guard #8934
7Sep 24 → Oct 9Transfer rang Joanna as an unknown number; silenced; logged "connected"8 transfers screening from reviewCaller-ID passthrough for every customer (#11075/#11100)Oct 8 review~14 daysCaller ID chosen per destination (#18008/#18016) + hand-made write
8Sep 29 → Oct 7"Nobody can pick up right now", even in office hours7 / 11Western Slope routing chain, live Sep 25, removed Camellia's person destinationOct 7 alert + inspection~7.5 daysHand-made write: Joanna on the catch-all list
9Oct 13 → openAsked for a person, got Clara again5 / 14 dials, 12 loopedSame caller-ID change as #7: a transfer to the main line now shows the caller's own number, and JP&Co's forward sends it back to Clara. Transfers showing the 844 reached the office all spring; the three that showed the caller's number looped (see below)Alert Oct 13 14:00 (no fix followed); alert Oct 20 11:13 on Victoria, handed to Fede's side; Fede Oct 21~5 h to alert; 8 days to actionNone yet (Fede: no fix yet)

Incidents in one line each

Why the loop started on Oct 13 (proven from Twilio)

All 73 calls Clara ever placed to 303-861-1057 (Twilio, re-pulled Oct 21 after Fede's challenge; a call counts as a transfer when a caller forwarded from the main line was live on Clara's line at that moment and the dial ended inside that call):

WhenCaller ID shown to JP&CoDialsCame back into Clara
Mar 16 – May 28, Aug 17–18Clara's own line (844)55 (41 transfers of a caller forwarded from the main line; 14 with no such caller, 11 of them tests before forwarding went live Apr 3; one Jul 30 dial with nobody on the line)0. 28 lasted over 30 s
Apr 9–10One of our own other numbers (720-637-1205), not the 844: test calls3 (+1 with nobody on the line, Apr 1)3 of 3, in 0 s, same length as the dial
Oct 13 – 19The caller's own number (passthrough, live Sep 24)14 transfers12 of 12 within 1 s of the dial. 2 did not come back (51 s and 61 s)

Facts. Every transfer that showed Clara's 844 reached JP&Co without coming back (41 of 41). Every call to the main line that showed any other number came back into Clara within one second: the three April tests (3 of 3) and the October transfers (12 of 14; the other 2 never came back). No transfer with a caller on the line exists in Twilio from May 29 to Aug 16 or from Aug 19 to Oct 12. None of the 833 calls JP&Co forwarded to Clara came from the 844.

Inference inferred: JP&Co's forward does not act on calls that come from the 844, most likely a loop-prevention rule in their phone system. The Sep 23–24 caller-ID change (every hand-off shows the original caller's number) made every transfer show the caller's number, which is the shape that loops. Not explained by the data: the two October transfers that did not come back. Raw pull and join: session 006 scratch rca1057/.

How we got here

DateWhat changedSource
Mar 24The property's office phone becomes Clara's transfer destination02a3cf68ce
May 20Office phone split from the public number. Joanna puts her cell in it "for transfer-to-human"#1244
Aug 26Audit finds two Camellia office numbers (1057 and Joanna's 2043). Nobody notes that 1057 forwards to ClaraKB redesign doc
Sep 11First loop guard. It only knows numbers on a hand-kept list#7921
Sep 16–17The person-ask ships with a fallback: no list → dial the office phone. The fallback itself came out of code review (round 1 of #8925); Fede's Sep 16 ruling it cites says only that a person-ask is always answered, by transfer or message#8932
Sep 9Cleanup audit proposes folding the office phone into "who answers". Never donesettings-cleanup doc
Sep 22Western Slope loop. WS main line added to the list by hand (#10795). The playbook's "prove each destination after forwarding" line was added separately, not in that PR#10795
Sep 23–24Caller-ID passthrough, for every customer (#11100 merged Sep 23 8:06 PM, #11075 Sep 24 8:05 AM)#11075, #11100
Sep 25Connect step ships (blank transfer numbers fixed, Triage moves to the connect tool). Incident 8 starts four days later; the link is this page's inference, not stated in the PRs#12343–#12377
Oct 1"Office phone" box moves onto the Calls page (the field itself dates from #1244). The save checks format only, not loops#14887, #15047
Oct 7Interim fix puts Joanna on the catch-all list, not the talk-to-a-person list. Fede rules "no silent office-phone fallback" that day; it is never built, and the a/b/c options are still open on Oct 15phone-line doc
Oct 8Loop guard part 1 covers ring-list saves, not the Office phone box. Part 2 deferred, no issue filed#18002
Oct 8 & 10Office phone saved as the main line 1057 from Camellia's Settings pageloop RCA
Oct 9Calls page shows "Leasing: the office phone (…1057)" as normal behaviour#18076, #18077, #18079
Oct 14Situs main line registered before its forward goes on. Camellia's never was#19591

In short: Since Sep 16, two ways of reaching a person have both been live: the lists, and a typed Office phone fallback. Retiring the fallback was proposed on Sep 17 and again on Oct 7, and left open. The loop guard is a hand-kept list; the part that would build it automatically was deferred. The Oct 7 fix put Joanna on the catch-all list, so leasing person-asks still fell through to the Office phone. That box is the one door with no loop check. Of the Western Slope lessons from Sep 22, only "register the main line" was applied anywhere (Situs, Oct 14); the loop alert was built for no one, and Camellia's main line was never registered.

What Clara dials today, per customer

A leasing person-ask in office hours tries, in order: the leasing ring list → the talk-to-a-person list → a direct dial to the Office phone (the Emergency phone when the Office phone is blank). That dial rings 30 s on the main path and never takes a message. After hours, Clara takes a message (one exception: the on-site-access transfer dials the Office phone at any hour). "Something else" goes to the catch-all list. The loop guard checks every dial against a hand-kept list; saving a ring list is checked against it, saving the Office phone is not. Settings re-read Oct 21, read-only.

CustomerPerson-ask in office hoursMain line on the loop listCan loop today
CamelliaNo talk-to-a-person list (Joanna is on the catch-all list only), so it falls to the Office phone, which is the main lineNoYes
Western SlopeTalk-to-a-person list: Kat, then Bev (20 s each)YesNo
SitusMessage (no list, no office phone)YesNo
Yale 25 StationSame setup as Camellia; no calls since Sep 21NoLikely, unverified

Patterns

  1. Changes made for other customers break Camellia. Since Sep 6 (#7212), every merge deploys to every property's agents again, Camellia's included; from Aug 24 to Sep 6 only the Willows test agents got them. All four Sep–Oct breakages that reached callers (6–9) came from Western Slope or shared work. One of those changes, the Sep 24 caller-ID passthrough, caused two of them. Every change was proven on test companies, never on Camellia's real settings.
  2. Hard failures are found in an hour, soft ones in weeks. Time to detect: ~29 min, 51 min, 13 min, ~22 h, ~5 h, 7.5 d, 13 d, 14 d. Soft failures were logged "connected" or filed as info. No alert caught anything before harm, and the one timely alert (Oct 13) led to no fix.
  3. Fixes and lessons don't travel back. Two fixes were hand-made production writes with no PR (Oct 7, Oct 9). Western Slope's lessons reached Situs but never Camellia. The one manager-editable box that can create a loop has no check.

Root cause and recommendation (Oct 21) Proposed — pending review

Root cause, confirmed by Fede: Camellia's main line forwards every call to Clara except calls that come from Clara's own 844 number. On Sep 23 every hand-off was changed to show the caller's number instead of the 844. From then on a hand-off to the main line looked like any other call and was forwarded straight back: 12 of 14 October hand-offs returned within one second. The Oct 8 fix added a per-number caller-ID setting and applied it to Joanna's cell only. No session, PR or review in that chain proposed a loop alert.

Why the Sep 23 change existed. Fede: "the only reason we started all this saga is for MCC to detect the number of the tenant that's calling, so their SMS line works correctly. Everything else was working fine before we did that change." MCC is Western Slope's outsourced maintenance call center; its "press 1 for a text" keys off caller ID. One leg needed the caller's number; we made it the rule for every leg.

The design (Fede: "so it's the exception rather than the rule"; confirmed independently by an Opus 5.5 and a Fable 5.1 consult at max reasoning, Oct 21):

PieceWhat it doesStatus
RuleEvery hand-off to the customer's own team (ring list, on-site, emergency; the Office-phone fallback is dropped, every customer names at least one person at onboarding, existing values migrate onto the list) is placed from the exact Clara line the call came in on, as before Sep 23. Screening cells ring; Comcast-type office lines let it through; staff get the caller's name and number from the whisper and the missed-call notice.PR 1 #21668, 1b #21670, office-fallback removal #21671 merged Oct 21; migration ran 03:30 UTC Oct 22 and was read back: Camellia and Yale each got their one Office-phone number on the talk-to-a-person list, Western Slope untouched (its office number is the forwarded main line), 142 other buildings had no office phone; agent-side legs #21695 merged Oct 22; live proof call at the test property Oct 22 03:36 UTC: the hand-off dial leg (CA3b2dda50…) left FROM Clara’s own Fairhaven line +17208071724, the number the caller dialed; Willows rung proven
ExceptionA hand-off to an outside service that serves the tenant directly (today: the maintenance call-center slot) shows the tenant's number, because such a service may act on the caller ID, never screens strangers and never forwards to Clara. Fede: "this is more like it." Keyed on the slot, never on a customer or a number.Already how MCC is reached today
Loop guardA call that comes back to Clara (from one of her own lines, or from a caller she is mid-hand-off with) is treated as "nobody answered": the ring list moves on, a single number takes a message, no second Clara greets. Alert on every bounce (Fede: "anytime there's an infinite loop it's an accident and we should be alerted"). Nothing remembered per number: Situs will forward nights and weekends only, so a mark would break their daytime hand-offs.Alert: merged Oct 21 (#21636), live. Returned call counts as "nobody answered": merged Oct 21 (#21682), deploying
DeletedThe per-number caller-ID setting (and Joanna's entry): gone with #21668. The hand-typed rule that refused a customer's forwarded main line as a hand-off destination: removed by #21705 (merged Oct 22) on the dial paths the bounce guard protects (the connect tool and the on-call rung); it stays on the native transfer legs and the office-hours wrap, which have no bounce guard. The record of which lines are forwarded stays, because it also keeps Clara from reading that number out loud to callers. The dark "bridge" switch stays: still in use.#21668 and #21705 merged
CaseDestination seesCaller gets
Comcast-type main line (Camellia)Clara's 844Office phones ring
RingCentral-type main line (Western Slope)Clara's line, forwarded back anywayOne second of ringing, then Clara takes a message; we get the alert and point the destination at people or a direct office number on our routing card
Screening personal cell (Joanna)Clara's linePhone rings; whisper names the caller
Maintenance call center (MCC)Tenant's own number"Press 1 for a text" reaches the tenant; unchanged

Rejected on the way (Oct 21): Clara's number everywhere with no exception ("absolutely not"); caller's number by default with a redial on bounce and a per-number memory ("very poor"); the per-number setting ("should not be a per number thing"); a rule by person vs company line (the office line is the team; putting it on the "caller's number" side is the Sep 23 mistake).

Build cut (fixes, no switch): PR 1 team hand-offs from Clara's line, exception on the call-center number, delete the setting (proof: Willows hand-off to a screening cell rings; a real Camellia office-line hand-off shows the 844 and nothing comes back; MCC leg shows the tenant's number). PR 2 a returned call is hung up at the door and treated as no answer, then the hand-kept list and bridge switch go (proof: a Willows destination forwarding back to the Willows line: alert, message prompt, no second Clara). PR 3 cleanup: on-site and emergency legs onto the same connect path.

Quick fix for Camellia (no code, on Fede's go): add the main line to JP&Co's existing per-number setting as "show Clara's line". Today Camellia's hand-off dials Joanna's cell, which already shows the 844, so nothing loops right now. PR 1 makes this entry unnecessary.

Options Proposed — pending review

Recommendation: A, with B as the safety net. Together they fix Camellia and Yale the same way as every other customer.

OptionWould have caught
A ★Retire the Office phone fallback. A person-ask goes to a list or takes a message, never to a typed number. Camellia and Yale get a talk-to-a-person list.9, and future repeats of 8
BLoop alert: flag any transfer leg whose destination is a number Clara answers. On real legs it fired on 13 of 13 loops and 0 of 10 good transfers.9 on the first leg (Oct 13 09:09), and the WS Sep 22 loop
CChange history on phone settings: who saved what, and whenSpeeds up diagnosis of 8 and 9
DBuild the forwarded-line list automatically from Twilio's "forwarded from" field. Doubtful: a Sep 20 Western Slope test showed Clara's own number there9, if it works
EDaily "reached a human" rate per property, with an owner on the alert. Voicemail, Clara's own voice and "nobody to connect" count as misses4, 7, 8, 9
FAlerts on voice-platform failures, plus a fallback on the 844 line. The fallback is a Twilio config change, so it needs Fede's go1, 3, 6

Already done: transfer fields reject placeholders (#1329); empty-value guard (#8934); empty-dial protection (#9497); "hand-off reached no one" alerts (#15742, #17513).

Every phone and transfer setting, with screenshots and options for the settings redesign: Clara settings inventory.

How we counted

PropFlow Docs