Capture phone (office) + mobile (cell) on card intake; ship v0.1.0:98
Completes business-card contact capture. The transcription prompt now labels Phone/Mobile/Fax on separate lines, and the extractor maps an office/main number -> phone and a cell -> mobile, never a fax. Both carry the same digit-in-source integrity rule as email/LinkedIn: a number is kept only if its digits literally appear in the source (or, on revise, the instruction) -- never minted. The proposal card shows Phone + Mobile and they're editable (aliases phone/tel/office, mobile/cell). Server: _upsert_contact_from_fundraising now accepts contact.phone + contact.mobile and writes them to the canonical contact record (contact-level, not grid pills), shipped in s9pk v0.1.0:98. No schema change -- the contacts columns already exist. 41/41 backend suite green + the matrix_intake units; card flow end-to-end is live-smoke.
This commit is contained in:
@@ -34,10 +34,12 @@ CARD_SYSTEM = (
|
||||
"character:\n"
|
||||
" - Email: check the local part, the @, and the domain separately (transcribe 'mara.com' as "
|
||||
"'mara.com', never 'marac.com').\n"
|
||||
" - Phone number(s).\n"
|
||||
" - Phone, cell/mobile, and fax numbers — keep each on its own labeled line so they aren't "
|
||||
"confused (put an office/main/direct number on Phone:, a cell/mobile number on Mobile:, and a "
|
||||
"fax on Fax:).\n"
|
||||
" - Website / LinkedIn URL.\n"
|
||||
"Then list, each on its own labeled line and ONLY if present on the card:\n"
|
||||
" Name: Title: Company: Email: Phone: LinkedIn: City:\n"
|
||||
" Name: Title: Company: Email: Phone: Mobile: Fax: LinkedIn: City:\n"
|
||||
"If a character is genuinely ambiguous, give your single best reading — never invent extra "
|
||||
"characters to fill a gap. If the image is not a readable business card, reply with the single "
|
||||
"word NONE. Output only the labeled lines, nothing else."
|
||||
|
||||
Reference in New Issue
Block a user