Spaces:
Sleeping
Sleeping
Commit History
-
fix(pricing+scoring): rebuild premium engine to 0 logical violations + classification, faithfulness, links, writing
Claude Code +1: Claude Opus 4.7 (1M context)Pricing: rebuilt sample→premium as median-of-normalized-bases (monotone by construction) + real-fact product-type classifier + age-bucket-key fix + type-aware abs/low caps + P7 capped vs cheapest real comprehensive + Sanjeevani rel-cap. Exhaustive harness 3,316→0 (P1-P8=0, 104,760 checks); 5 monotonicity + 4 strict all-148 seeds clean. Deep-research harvest (6 agents, integrity-gated): 93/148 now real-quote-anchored, rest type×profile-modelled w/ honest provenance labels. Classification: fixed Health Guard/Star Assure (voluntary-deductible comprehensive mislabelled topup → ded≥₹2L threshold), Criti Care/Medicare→disease, Energy→comprehensive, Health Protector Plus→topup. Scoring: parity-by-construction (_scorecard_signal mirrors marketplace doctype-rank + merge); harness S3=0, test_scorecard_parity green. Reviews source-map + 148 confirm. Weighted-avg math audited PASS. Faithfulness: _verify_prose_grounding — UINs in reply prose must be retrieved-grounded (faithfulness_passed now co…f266901
-
data+scoring: verbatim-source all policy_facts, recalibrate scorecard, fix recommendation
- Re-sourced ~2900 cells to verbatim PDF clauses (v1/v2/v3 fleets); 0 fabrication, 0 legacy-provenance, ~250 wrong values corrected; image-only Acko cells dropped. - Removed max_renewal_age from scoring (IRDAI lifelong is universal); root-caused 999. - Recalibrated 6 sub-scores + thresholds: real A/B/C/D/F spread (was ~90% B); fixed-benefit N/A reweight. - #9 citations = exactly the prose-named policies (no slice cap). - #10 eligibility gates (no top-up for first-timers, zero-copay, SI floor) + profile-fit rank. - Voice TTS silent-failure surfaced + codec fix; 14 dead source URLs replaced. - scorecard/compare/bulk now merge corrected policy_facts (divergence fix). - 62/62 tests; two-part verify: 4113 verbatim-verified, 66 documented residual, 0 fabrication. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>7081aaa
-
refactor + feat: KI-050b/053/054 — rename completeness + eval speed + tax questions
Combines three logically-related changes into one push-clean commit (rewrites the prior 67bdd3a + 866fb24 to drop accidentally-swept-in binaries + runtime state that tripped HF Space's pre-receive hook). KI-050b — data/ → 40-data/ rename completeness across docs: • 40-data/ internal docs (README, corpus_urls.md, info_source_map, illustrative_premiums.json, llm_health.json, profiles/README, reviews/icici-lombard.json) • kb/ — AUDIT_TRAIL, INDEX, all 218 kb/policies/*.md mirror sheets, kb/research/corpus_acquisition.md, kb/reviews/* leaderboards • tools/ — info_source_map.py, build_kb_mirror.py, full_pipeline.sh, README, ~12 other scripts touching data/ paths in prose • eval/info_source_map.json (2772 source-provenance entries) + README entrypoint.sh preserved — its `/data/` paths are absolute HF Space persistent-disk mounts, NOT references to the repo folder. KI-053 — eval/run.py --no-extract flag. Skips the orchestrator's free-form profile_extractor LLM call …57ef382 -
perf(retrieval): KI-049 — wider top-k for table-cell questions
Post-fix 96-Q eval (54.8% factual) surfaced 8 failures on room-rent / sub-limit / cap questions where the bot's reply omitted the specific room category ("Single Private", "Twin Sharing", "General Ward"). That's 19% of remaining failures. Root cause: the policy table with the structured cap is ONE chunk in Chroma, but at top_k=5 it loses to other relevant prose chunks (definitions, sub-limit prose elsewhere in the doc) → the LLM never sees the table → can only paraphrase from looser context → misses the row categories. Fix: when the query matches a table-cell trigger pattern, raise effective_top_k to 10 for that query only. Trigger regex covers: • room rent / sub-limit / sub-limits • copay / co-pay • cap on / capped at / sum insured limit • single private / twin sharing / general ward • no-claim bonus / NCB Verified the regex fires on the eval's failing questions and ignores generic waiting-period queries (which retrieve fine at top_k=5). Combined with KI-046 (refusal pr…c8bf1a1