Repository navigation
feat(LeadCapture): 0–100 intent scoring, compliance risk and structured lead fields - #3000
Merged
Merged
Conversation
…ed lead fields Driven by a customer's lead-scoring rubric (A/B/C keyword tiers, bonuses, deductions, compliance-risk words, lead fields): - the judge returns score/signals/risk/risk_reason/reason; levels come from configurable high_score (60) and ask_score (30), so medium and high intent are asked once; 0.1/0.2-style strong_intent answers still map to a score - compliance risk (configurable risk_prompt) marks the lead "risk": no contact request, no sales email, listed for review - once contact details arrive, configurable lead_fields are extracted from the whole conversation and shown at the top of the email (subject now carries level and score) and on the page - Page: score/level column, risk total and filter, lead fields and per-judgment signals in the detail view - bump to 0.3.0 Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Co-authored-by: multica-agent <github@multica.ai>
Codecov Report✅ All modified and coverable lines are covered by tests. 📢 Thoughts on this report? Let us know! |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to subscribe to this conversation on GitHub.
Already have an account?
Sign in.
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Requested on LANG-327, based on the customer's lead-scoring rubric (A/B/C keyword tiers with points, urgency/decision-maker bonuses, deductions, compliance-risk words, thresholds ≥60 / 30–59 / <30, and the lead fields to capture). Decision from Chin Rock: medium intent is asked once too.
Changes (LeadCapture 0.3.0)
{score 0–100, signals[], risk, risk_reason, reason}. Levels come from the new config itemshigh_score(default 60) andask_score(default 30). Medium and high intent get the contact request once; low does not. A 0.1/0.2-stylestrong_intentanswer still maps to a score. An answer without a score is recorded as an error and never breaks the reply.risk_prompt, default lists scalping, fake orders, cracking, scraping WeChat/banks, VPNs…): the lead becomesrisk, with no contact request and no sales email. It is kept for review on the page.lead_fields, default: the 12 fields from the rubric): extracted once from the whole conversation when contact details arrive. They appear at the top of the email (missing ones show as 未提及) and on the page. The subject now reads【购买意向·高意向 75分】….intent_promptdefault now describes a scoring rubric; READMEs (en/zh) are updated.Verification
plugins/misc/LeadCapture: 31 passed, 8 of them new:ruff check,check_catalog.py,test_repository.pyOK.Real model check: brightdata's
claude-haiku-5-5via LangBot Models, with the exact prompts the plugin builds and the customer's rubric.risk=trueField extraction filled 10 of 12 fields correctly and left the 2 unmentioned ones empty.
🤖 Generated with Claude Code