diff --git a/.gitignore b/.gitignore index 88b51317c86884dc333f03e336ed2292d6671284..c4f11fed01885229b996d3335c978f0bb045825b 100644 --- a/.gitignore +++ b/.gitignore @@ -82,3 +82,10 @@ rag/_hf_dataset_backup/ # HF Space rejects binaries in the repo (use Xet/Releases instead). # Regenerate locally any time via 'python tools/build_readme_pdf.py'. README.pdf + +# Runtime + heavy binary: never commit +40-data/policies/ +40-data/sessions/ +80-audit/full_*/ +80-audit/postfix_*/ +MUST_FIX.md diff --git a/40-data/README.md b/40-data/README.md index 6cf96b32aee9b4e543588f634df8087fdab4bef2..cd92815afe73bcc8232f0877e15dd520ab75bcb7 100644 --- a/40-data/README.md +++ b/40-data/README.md @@ -13,7 +13,7 @@ The structured policy schema and PDFs themselves live under `rag/`. This folder | File | What it is | Owner | | --- | --- | --- | | `corpus_urls.md` | Discovery manifest — every PDF URL ingested into `rag/corpus/`. | discovery agent / `tools/check_link_rot.py` | -| `regulatory_urls.md` | IRDAI / regulatory PDF URLs. See [ADR-017](../docs/60-decisions/ADR-017-irdai-corpus-playwright-rescue.md). | discovery agent | +| `regulatory_urls.md` | IRDAI / regulatory PDF URLs. See [ADR-017](../70-docs/60-decisions/ADR-017-irdai-corpus-playwright-rescue.md). | discovery agent | | `information_source_map.md` | Human-readable claim → URL → verdict map. Master audit doc for the Source Methodology directive. Mirror of `eval/info_source_map.json`. | `tools/info_source_map.py` | | `llm_health.json` | Last per-provider health-probe snapshot (latency, success, last error). Powers the admin tab. | `backend/llm_health.py` | | `llm_usage.jsonl` | Append-only per-call log: provider, model, tokens, latency, success. Aggregated in the admin tab. | `backend/main.py` | @@ -26,7 +26,7 @@ The structured policy schema and PDFs themselves live under `rag/`. This folder | `sessions/` | runtime | Per-session conversation state JSONs. Ephemeral — pruned periodically. Currently includes `anonymous.json` (no-name fallback). | | `policy_facts/` | pre-computed | **256 curated JSONs**, one per policy variant. Each field carries `{value, unit?, source_pdf_path, source_quote}` provenance. The Indian-BFSI-audit-grade machine source; `kb/policies/*.md` are the human-readable mirror. See `_curation_report.md` for the three batches that built it. | | `policies/` | pre-computed | Subfolder per insurer with PDFs / supplementary text used for one-off lookups outside the main ingest pipeline. | -| `premiums/` | pre-computed | `illustrative_premiums.json` — sample starting premiums pulled from PolicyBazaar / JoinDitto / Beshak + insurer rate cards (2026-05-13). Refreshed by `tools/refresh_premiums.py`. **Illustrative only** per [ADR-007](../docs/60-decisions/ADR-007-illustrative-pricing.md). | +| `premiums/` | pre-computed | `illustrative_premiums.json` — sample starting premiums pulled from PolicyBazaar / JoinDitto / Beshak + insurer rate cards (2026-05-13). Refreshed by `tools/refresh_premiums.py`. **Illustrative only** per [ADR-007](../70-docs/60-decisions/ADR-007-illustrative-pricing.md). | | `reviews/` | pre-computed | One JSON per insurer with IRDAI claim-settlement metrics, complaints/10K, aggregator sentiment, news tone. Index + leaderboard in `reviews/INDEX.md`. Source: IRDAI Annual Report 2023-24. | ## Provenance + KPIs @@ -41,5 +41,5 @@ The structured policy schema and PDFs themselves live under `rag/`. This folder - [`kb/AUDIT_TRAIL.md`](../kb/AUDIT_TRAIL.md) — end-to-end lineage; `data/policy_facts/` is stage 8 output - [`kb/INDEX.md`](../kb/INDEX.md) — policy index with completeness % per file -- [ADR-007](../docs/60-decisions/ADR-007-illustrative-pricing.md) — pricing is illustrative, never a real quote -- [ADR-009](../docs/60-decisions/ADR-009-19-insurer-comprehensive-schema.md) — 19-insurer scope + 48-field schema +- [ADR-007](../70-docs/60-decisions/ADR-007-illustrative-pricing.md) — pricing is illustrative, never a real quote +- [ADR-009](../70-docs/60-decisions/ADR-009-19-insurer-comprehensive-schema.md) — 19-insurer scope + 48-field schema diff --git a/40-data/corpus_urls.md b/40-data/corpus_urls.md index 649036fbcb9e56fc5894abf63e8571cf4f8b0255..c76434163013984cb0f8c0887f0f14ffb22f7158 100644 --- a/40-data/corpus_urls.md +++ b/40-data/corpus_urls.md @@ -17,18 +17,18 @@ | star-health | Star Health | Star Cardiac Care Platinum | wordings | https://web.starhealth.in/sites/default/files/policy-clauses/Star-Cardiac-Care-Insurance-Policy_Platinum.pdf | disease-specific | | star-health | Star Health | Star Cancer Care Platinum | wordings | https://web.starhealth.in/sites/default/files/policy-clauses/star-cancer-care-platinum-policy-clauses.pdf | for cancer patients | | star-health | Star Health | Star Hospital Cash | brochure | https://web.starhealth.in/sites/default/files/brochure/hospital_cash_ebrochure_new.pdf | daily-cash benefit | -| hdfc-ergo | HDFC ERGO | my:Optima Secure | wordings | https://www.hdfcergo.com/docs/default-source/downloads/policy-wordings/health/optima-secure-revision-pw.pdf | flagship indemnity | -| hdfc-ergo | HDFC ERGO | my:Optima Secure (older variant) | wordings | https://www.hdfcergo.com/docs/default-source/downloads/policy-wordings/health/my-optima-secure_old_pws.pdf | superseded version | +| hdfc-ergo | HDFC ERGO | my:Optima Secure | wordings | https://www.hdfcergo.com/70-docs/default-source/downloads/policy-wordings/health/optima-secure-revision-pw.pdf | flagship indemnity | +| hdfc-ergo | HDFC ERGO | my:Optima Secure (older variant) | wordings | https://www.hdfcergo.com/70-docs/default-source/downloads/policy-wordings/health/my-optima-secure_old_pws.pdf | superseded version | | hdfc-ergo | HDFC ERGO | Optima Restore | brochure | https://www.hdfcergo.com/documents/downloads/HEHI/Presales-Set-2/OR-Brochure-Revision-V2.pdf | restoration product | -| hdfc-ergo | HDFC ERGO | Optima Plus | wordings | https://www.hdfcergo.com/docs/default-source/downloads/policy-wordings/health/optima-plus-policy-wordings.pdf | top-up | -| hdfc-ergo | HDFC ERGO | Optima Enhance | wordings | https://www.hdfcergo.com/docs/default-source/downloads/policy-wordings/others/optima-enhance-policy-wording.pdf | super top-up | -| hdfc-ergo | HDFC ERGO | my:health Medisure Prime | wordings | https://www.hdfcergo.com/docs/default-source/downloads/policy-wordings/others/policy-wordings---prime---hrc.pdf | prime indemnity | -| hdfc-ergo | HDFC ERGO | Energy (Diabetes/Hypertension) | wordings | https://www.hdfcergo.com/docs/default-source/downloads/policy-wordings/health/energy-combined-pw-cis.pdf | combined PW+CIS, disease-specific | -| hdfc-ergo | HDFC ERGO | Total Health Plan | wordings | https://www.hdfcergo.com/docs/default-source/downloads/policy-wordings/health/total-health-plan--oct-2021.pdf | comprehensive | -| hdfc-ergo | HDFC ERGO | my:health Suraksha | brochure | https://www.hdfcergo.com/docs/default-source/downloads/prospectus/health/myhealth-suraksha---prospectus.pdf | prospectus (product withdrawn but corpus useful) | -| hdfc-ergo | HDFC ERGO | my:health Sampoorna Suraksha | brochure | https://www.hdfcergo.com/docs/default-source/downloads/prospectus/health/my_sampoorna_suraksha.pdf | prospectus | -| hdfc-ergo | HDFC ERGO | my:health Women Suraksha | brochure | https://www.hdfcergo.com/docs/default-source/downloads/brochures/myhealth-women-suraksha-with-premium-table.pdf | women-specific | -| hdfc-ergo | HDFC ERGO | Group Health Insurance | wordings | https://www.hdfcergo.com/docs/default-source/downloads/policy-wordings/health/group-health-insurance---pw.pdf | group product, structurally similar | +| hdfc-ergo | HDFC ERGO | Optima Plus | wordings | https://www.hdfcergo.com/70-docs/default-source/downloads/policy-wordings/health/optima-plus-policy-wordings.pdf | top-up | +| hdfc-ergo | HDFC ERGO | Optima Enhance | wordings | https://www.hdfcergo.com/70-docs/default-source/downloads/policy-wordings/others/optima-enhance-policy-wording.pdf | super top-up | +| hdfc-ergo | HDFC ERGO | my:health Medisure Prime | wordings | https://www.hdfcergo.com/70-docs/default-source/downloads/policy-wordings/others/policy-wordings---prime---hrc.pdf | prime indemnity | +| hdfc-ergo | HDFC ERGO | Energy (Diabetes/Hypertension) | wordings | https://www.hdfcergo.com/70-docs/default-source/downloads/policy-wordings/health/energy-combined-pw-cis.pdf | combined PW+CIS, disease-specific | +| hdfc-ergo | HDFC ERGO | Total Health Plan | wordings | https://www.hdfcergo.com/70-docs/default-source/downloads/policy-wordings/health/total-health-plan--oct-2021.pdf | comprehensive | +| hdfc-ergo | HDFC ERGO | my:health Suraksha | brochure | https://www.hdfcergo.com/70-docs/default-source/downloads/prospectus/health/myhealth-suraksha---prospectus.pdf | prospectus (product withdrawn but corpus useful) | +| hdfc-ergo | HDFC ERGO | my:health Sampoorna Suraksha | brochure | https://www.hdfcergo.com/70-docs/default-source/downloads/prospectus/health/my_sampoorna_suraksha.pdf | prospectus | +| hdfc-ergo | HDFC ERGO | my:health Women Suraksha | brochure | https://www.hdfcergo.com/70-docs/default-source/downloads/brochures/myhealth-women-suraksha-with-premium-table.pdf | women-specific | +| hdfc-ergo | HDFC ERGO | Group Health Insurance | wordings | https://www.hdfcergo.com/70-docs/default-source/downloads/policy-wordings/health/group-health-insurance---pw.pdf | group product, structurally similar | | niva-bupa | Niva Bupa | ReAssure 2.0 | wordings | https://transactions.nivabupa.com/pages/doc/policy_wording/ReAssure-2.0-Policy-Wording.pdf | flagship | | niva-bupa | Niva Bupa | ReAssure 3.0 | wordings | https://transactions.nivabupa.com/pages/doc/policy_wording/ReAssure30_Policy_Wordings.pdf | latest gen | | niva-bupa | Niva Bupa | Aspire | wordings | https://transactions.nivabupa.com/pages/doc/policy_wording/Aspire_Policy_Wordings.pdf?v=1.3 | millennials product | @@ -48,15 +48,15 @@ | care-health | Care Health Insurance | Care Advantage | brochure | https://cms.careinsurance.com/cms/public/uploads/download_center/care-advantage-(health-insurance-product)---brochure.pdf | base brochure | | care-health | Care Health Insurance | Care Advantage + add-ons (Protect Plus + Care Shield) | brochure | https://cms.careinsurance.com/cms/public/uploads/download_center/care-advantage-with-add-on-protect-plus-&-care-shield-brochure.pdf | combo brochure | | care-health | Care Health Insurance | Care Heart | brochure | https://cms.careinsurance.com/cms/public/uploads/download_center/care-heart---piano-fold-brochure---web.pdf | cardiac-specific | -| icici-lombard | ICICI Lombard | Complete Health Insurance (Health Shield) | wordings | https://www.icicilombard.com/docs/default-source/policy-wordings-product-brochure/complete-health-insurance-(health-shield).pdf | retail comprehensive | -| icici-lombard | ICICI Lombard | Complete Health Insurance (umbrella) | wordings | https://www.icicilombard.com/docs/default-source/default-document-library/icihlip23144v072223-icici-lombard-complete-health-insurance.pdf | umbrella PW | -| icici-lombard | ICICI Lombard | Health Shield 360 Retail | wordings | https://www.icicilombard.com/docs/default-source/default-document-library/health-shield-360-retail_pw.pdf | 360 retail | -| icici-lombard | ICICI Lombard | Health Shield 360 Retail | cis | https://www.icicilombard.com/docs/default-source/policy-wordings-product-brochure/health-shield-360-retail---cis.pdf | CIS | -| icici-lombard | ICICI Lombard | Health Booster (top-up) | wordings | https://www.icicilombard.com/docs/default-source/default-document-library/health-booster_policy-wordings.pdf | top-up | -| icici-lombard | ICICI Lombard | Health AdvantEdge | wordings | https://www.icicilombard.com/docs/default-source/apps/healthclientapp/assets/pdf/health-advantedge-policy-wordings.pdf | wellness-led product | -| icici-lombard | ICICI Lombard | Elevate | wordings | https://www.icicilombard.com/docs/default-source/apps/elevateapp/assets/pdf/elevate-policy-wordings.pdf | premium tier | -| icici-lombard | ICICI Lombard | Health Elite Plus | wordings | https://www.icicilombard.com/docs/default-source/policy-wordings-product-brochure/complete-health-insurance-(health-elite-plus).pdf | elite plus tier | -| icici-lombard | ICICI Lombard | Arogya Sanjeevani | wordings | https://www.icicilombard.com/docs/default-source/policy-wordings-product-brochure/arogya-sanjeevani-policy-policy-wordings.pdf | IRDAI standard product | +| icici-lombard | ICICI Lombard | Complete Health Insurance (Health Shield) | wordings | https://www.icicilombard.com/70-docs/default-source/policy-wordings-product-brochure/complete-health-insurance-(health-shield).pdf | retail comprehensive | +| icici-lombard | ICICI Lombard | Complete Health Insurance (umbrella) | wordings | https://www.icicilombard.com/70-docs/default-source/default-document-library/icihlip23144v072223-icici-lombard-complete-health-insurance.pdf | umbrella PW | +| icici-lombard | ICICI Lombard | Health Shield 360 Retail | wordings | https://www.icicilombard.com/70-docs/default-source/default-document-library/health-shield-360-retail_pw.pdf | 360 retail | +| icici-lombard | ICICI Lombard | Health Shield 360 Retail | cis | https://www.icicilombard.com/70-docs/default-source/policy-wordings-product-brochure/health-shield-360-retail---cis.pdf | CIS | +| icici-lombard | ICICI Lombard | Health Booster (top-up) | wordings | https://www.icicilombard.com/70-docs/default-source/default-document-library/health-booster_policy-wordings.pdf | top-up | +| icici-lombard | ICICI Lombard | Health AdvantEdge | wordings | https://www.icicilombard.com/70-docs/default-source/apps/healthclientapp/assets/pdf/health-advantedge-policy-wordings.pdf | wellness-led product | +| icici-lombard | ICICI Lombard | Elevate | wordings | https://www.icicilombard.com/70-docs/default-source/apps/elevateapp/assets/pdf/elevate-policy-wordings.pdf | premium tier | +| icici-lombard | ICICI Lombard | Health Elite Plus | wordings | https://www.icicilombard.com/70-docs/default-source/policy-wordings-product-brochure/complete-health-insurance-(health-elite-plus).pdf | elite plus tier | +| icici-lombard | ICICI Lombard | Arogya Sanjeevani | wordings | https://www.icicilombard.com/70-docs/default-source/policy-wordings-product-brochure/arogya-sanjeevani-policy-policy-wordings.pdf | IRDAI standard product | | bajaj-allianz | Bajaj Allianz | Health Guard | wordings | https://www.bajajallianz.com/download-documents/health-insurance/health-guard/Health-Guard-Policy-Wordings-print.pdf | flagship | | bajaj-allianz | Bajaj Allianz | Health Guard Gold (individual) | wordings | https://bajajallianz.com/download-documents/health-insurance/health-guard-individual-policy/HG_Gold_Policy_Wording_&_CIS.pdf | PW + CIS combined | | bajaj-allianz | Bajaj Allianz | Group Health Guard Gold | wordings | https://www.bajajallianz.com/download-documents/health-insurance/health-guard-group/Group-HG-Gold-Policy-Wordings.pdf | group | @@ -68,14 +68,14 @@ | bajaj-allianz | Bajaj Allianz | Silver Health | cis | https://www.bajajallianz.com/download-documents/health-insurance/silver-health/silver_health_CIS.pdf | senior citizens (CIS only found) | | bajaj-allianz | Bajaj Allianz | Tax Gain | cis | https://www.bajajallianz.com/download-documents/health-insurance/tax-gain/tax_gain_CIS.pdf | tax-saver plan | | bajaj-allianz | Bajaj Allianz | Group Personal Accident | wordings | https://www.bajajallianz.com/download-documents/health-insurance/GROUP-PERSONAL-ACCIDENT-Policy-Wordings.pdf | PA | -| new-india | New India Assurance | New India Mediclaim Policy | wordings | https://www.newindia.co.in/assets/docs/know-more/health/new-india-mediclaim-policy/PolicyClauseNewIndiaMediclaimPolicy(NIAHLIP23187V052223).pdf | flagship retail mediclaim | -| new-india | New India Assurance | New India Mediclaim Policy | brochure | https://www.newindia.co.in/assets/docs/know-more/health/new-india-mediclaim-policy/Prospectus%20New%20India%20Mediclaim%20Policy.pdf | prospectus | -| new-india | New India Assurance | New India Floater Mediclaim Policy | wordings | https://www.newindia.co.in/assets/docs/know-more/health/floater-mediclaim-policy/Policy%20Clause%20New%20India%20Floater%20Mediclaim%20Policy%20wef%2001%2010%202024.pdf | family floater | -| new-india | New India Assurance | Asha Kiran Policy | brochure | https://www.newindia.co.in/assets/docs/know-more/health/asha-kiran-policy/Prospectus%20New%20India%20Asha%20Kiran%20Policy%20wef%2001%2004%202021.pdf | women+family hybrid; prospectus | -| new-india | New India Assurance | Asha Kiran Policy | cis | http://www.newindia.co.in/assets/docs/know-more/health/asha-kiran-policy/Customer%20Information%20Sheet%20NEW%20INDIA%20ASHA%20KIRAN%20POLICY.pdf | CIS | -| new-india | New India Assurance | Yuva Bharat Health Policy | wordings | https://www.newindia.co.in/assets/docs/know-more/health/yuva-bharat-health-policy/Policy%20Clause%20Yuva%20Bharat%20Health%20Policy%20%20wef%2001%2010%202024_1.pdf | 18-45 age group | -| new-india | New India Assurance | Janata Mediclaim Policy | wordings | https://www.newindia.co.in/assets/docs/know-more/health/janata-mediclaim-policy/Policy%20Clause%20Janata%20Mediclaim%20Policy.pdf | mass-market | -| new-india | New India Assurance | Universal Health Insurance | wordings | https://www.newindia.co.in/assets/docs/know-more/health/universal-health-insurance/Policy%20Clause%20Universal%20Health%20Insurance%20Policy.pdf | govt-sponsored | +| new-india | New India Assurance | New India Mediclaim Policy | wordings | https://www.newindia.co.in/assets/70-docs/know-more/health/new-india-mediclaim-policy/PolicyClauseNewIndiaMediclaimPolicy(NIAHLIP23187V052223).pdf | flagship retail mediclaim | +| new-india | New India Assurance | New India Mediclaim Policy | brochure | https://www.newindia.co.in/assets/70-docs/know-more/health/new-india-mediclaim-policy/Prospectus%20New%20India%20Mediclaim%20Policy.pdf | prospectus | +| new-india | New India Assurance | New India Floater Mediclaim Policy | wordings | https://www.newindia.co.in/assets/70-docs/know-more/health/floater-mediclaim-policy/Policy%20Clause%20New%20India%20Floater%20Mediclaim%20Policy%20wef%2001%2010%202024.pdf | family floater | +| new-india | New India Assurance | Asha Kiran Policy | brochure | https://www.newindia.co.in/assets/70-docs/know-more/health/asha-kiran-policy/Prospectus%20New%20India%20Asha%20Kiran%20Policy%20wef%2001%2004%202021.pdf | women+family hybrid; prospectus | +| new-india | New India Assurance | Asha Kiran Policy | cis | http://www.newindia.co.in/assets/70-docs/know-more/health/asha-kiran-policy/Customer%20Information%20Sheet%20NEW%20INDIA%20ASHA%20KIRAN%20POLICY.pdf | CIS | +| new-india | New India Assurance | Yuva Bharat Health Policy | wordings | https://www.newindia.co.in/assets/70-docs/know-more/health/yuva-bharat-health-policy/Policy%20Clause%20Yuva%20Bharat%20Health%20Policy%20%20wef%2001%2010%202024_1.pdf | 18-45 age group | +| new-india | New India Assurance | Janata Mediclaim Policy | wordings | https://www.newindia.co.in/assets/70-docs/know-more/health/janata-mediclaim-policy/Policy%20Clause%20Janata%20Mediclaim%20Policy.pdf | mass-market | +| new-india | New India Assurance | Universal Health Insurance | wordings | https://www.newindia.co.in/assets/70-docs/know-more/health/universal-health-insurance/Policy%20Clause%20Universal%20Health%20Insurance%20Policy.pdf | govt-sponsored | | aditya-birla | Aditya Birla Health Insurance | Activ Health (individual) | wordings | https://www.adityabirlacapital.com/healthinsurance/assets/pdf/policy-wording-form.pdf | flagship; brand may have rebranded as Activ One | | aditya-birla | Aditya Birla Health Insurance | Group Activ Health | wordings | https://www.adityabirlacapital.com/healthinsurance/assets/pdf/new_updated_pdf/Group-Activ-Health-Policy-wordings.pdf | group, structurally similar | | aditya-birla | Aditya Birla Health Insurance | Activ One | brochure | https://www.adityabirlacapital.com/healthinsurance/assets/pdf/active-one/brochure.pdf | newer flagship | diff --git a/40-data/information_source_map.md b/40-data/information_source_map.md index e06e664767ab52e7b734f8eba16abbe35271d3ec..a05e38591e0e5f24d0f8c8d4fbdc0704a609bb9e 100644 --- a/40-data/information_source_map.md +++ b/40-data/information_source_map.md @@ -262,7 +262,7 @@ Audited 56 claims — ✅ 0 verified, ⚠️ 47 quote-missing, ❌ 9 broken. | `premiums_meta` | `sources_consulted[11]` | ⚠️ url-ok-quote-missing | `https://joinditto.in/articles/health-insurance/niva-bupa-reassure-2-0-premium-chart/` | URL reachable but no source_quote provided | | `premiums_meta` | `sources_consulted[12]` | ⚠️ url-ok-quote-missing | `https://joinditto.in/articles/health-insurance/care-supreme-health-insurance-premium-chart/` | URL reachable but no source_quote provided | | `premiums_meta` | `sources_consulted[13]` | ⚠️ url-ok-quote-missing | `https://joinditto.in/articles/health-insurance/tata-aig-health-insurance-premium-rate-chart/` | URL reachable but no source_quote provided | -| `premiums_meta` | `sources_consulted[14]` | ⚠️ url-ok-quote-missing | `https://www.axisbank.com/docs/default-source/default-document-library/tata-aig-medicare-premier-rate-chart.pdf` | URL reachable but no source_quote provided | +| `premiums_meta` | `sources_consulted[14]` | ⚠️ url-ok-quote-missing | `https://www.axisbank.com/70-docs/default-source/default-document-library/tata-aig-medicare-premier-rate-chart.pdf` | URL reachable but no source_quote provided | | `premiums_meta` | `sources_consulted[15]` | ⚠️ url-ok-quote-missing | `https://transactions.nivabupa.com/pages/doc/premium_chart/Health%20Premia%20-%20Rate%20Card.pdf` | URL reachable but no source_quote provided | | `premiums_meta` | `sources_consulted[16]` | ⚠️ url-ok-quote-missing | `https://www.scribd.com/document/667873826/Annexure-2-Premium-Chart-Family-Health-Optima-Insurance-Plan-Revised` | URL reachable but no source_quote provided | | `premiums_meta` | `sources_consulted[17]` | ⚠️ url-ok-quote-missing | `https://www.scribd.com/document/682628786/ReAssure-2-0-Rate-Card-with-Tax` | URL reachable but no source_quote provided | @@ -292,12 +292,12 @@ Audited 56 claims — ✅ 0 verified, ⚠️ 47 quote-missing, ❌ 9 broken. | `niva-bupa__aspire` | `samples[0].age=30_si=500000` | ⚠️ url-ok-quote-missing | `https://www.nivabupa.com/family-health-insurance-plans/aspire.html` | URL reachable but no source_quote provided | | `new-india__asha-kiran` | `samples[0].age=30_si=300000` | ⚠️ url-ok-quote-missing | `https://www.newindia.co.in/portal/readMore/Pages/Asha-Kiran-Policy` | URL reachable but no source_quote provided | | `new-india__mediclaim` | `samples[0].age=30_si=500000` | ⚠️ url-ok-quote-missing | `https://www.newindia.co.in/portal/readMore/Pages/Mediclaim-Policy` | URL reachable but no source_quote provided | -| `tata-aig__medicare` | `samples[0].age=30_si=500000` | ⚠️ url-ok-quote-missing | `https://www.axisbank.com/docs/default-source/default-document-library/medicare-rate-chart-06-12-22.pdf` | URL reachable but no source_quote provided | -| `tata-aig__medicare` | `samples[1].age=30_si=1000000` | ⚠️ url-ok-quote-missing | `https://www.axisbank.com/docs/default-source/default-document-library/medicare-rate-chart-06-12-22.pdf` | URL reachable but no source_quote provided | -| `tata-aig__medicare-premier` | `samples[0].age=30_si=500000` | ⚠️ url-ok-quote-missing | `https://www.axisbank.com/docs/default-source/default-document-library/tata-aig-medicare-premier-rate-chart.pdf` | URL reachable but no source_quote provided | -| `tata-aig__medicare-premier` | `samples[1].age=30_si=1000000` | ⚠️ url-ok-quote-missing | `https://www.axisbank.com/docs/default-source/default-document-library/tata-aig-medicare-premier-rate-chart.pdf` | URL reachable but no source_quote provided | -| `tata-aig__medicare-premier` | `samples[2].age=40_si=500000` | ⚠️ url-ok-quote-missing | `https://www.axisbank.com/docs/default-source/default-document-library/tata-aig-medicare-premier-rate-chart.pdf` | URL reachable but no source_quote provided | -| `tata-aig__medicare-premier` | `samples[3].age=40_si=1000000` | ⚠️ url-ok-quote-missing | `https://www.axisbank.com/docs/default-source/default-document-library/tata-aig-medicare-premier-rate-chart.pdf` | URL reachable but no source_quote provided | +| `tata-aig__medicare` | `samples[0].age=30_si=500000` | ⚠️ url-ok-quote-missing | `https://www.axisbank.com/70-docs/default-source/default-document-library/medicare-rate-chart-06-12-22.pdf` | URL reachable but no source_quote provided | +| `tata-aig__medicare` | `samples[1].age=30_si=1000000` | ⚠️ url-ok-quote-missing | `https://www.axisbank.com/70-docs/default-source/default-document-library/medicare-rate-chart-06-12-22.pdf` | URL reachable but no source_quote provided | +| `tata-aig__medicare-premier` | `samples[0].age=30_si=500000` | ⚠️ url-ok-quote-missing | `https://www.axisbank.com/70-docs/default-source/default-document-library/tata-aig-medicare-premier-rate-chart.pdf` | URL reachable but no source_quote provided | +| `tata-aig__medicare-premier` | `samples[1].age=30_si=1000000` | ⚠️ url-ok-quote-missing | `https://www.axisbank.com/70-docs/default-source/default-document-library/tata-aig-medicare-premier-rate-chart.pdf` | URL reachable but no source_quote provided | +| `tata-aig__medicare-premier` | `samples[2].age=40_si=500000` | ⚠️ url-ok-quote-missing | `https://www.axisbank.com/70-docs/default-source/default-document-library/tata-aig-medicare-premier-rate-chart.pdf` | URL reachable but no source_quote provided | +| `tata-aig__medicare-premier` | `samples[3].age=40_si=1000000` | ⚠️ url-ok-quote-missing | `https://www.axisbank.com/70-docs/default-source/default-document-library/tata-aig-medicare-premier-rate-chart.pdf` | URL reachable but no source_quote provided | | `manipalcigna__prohealth-prime-active` | `samples[0].age=30_si=500000` | ⚠️ url-ok-quote-missing | `https://www.manipalcigna.com/hospitalization-cover/prohealth-insurance/prohealthprime-active` | URL reachable but no source_quote provided | | `star-health__family-health-optima` | `samples[0].age=30_si=500000` | ⚠️ url-ok-quote-missing | `https://www.scribd.com/document/667873826/Annexure-2-Premium-Chart-Family-Health-Optima-Insurance-Plan-Revised` | URL reachable but no source_quote provided | | `star-health__family-health-optima` | `samples[1].age=40_si=500000` | ⚠️ url-ok-quote-missing | `https://www.scribd.com/document/667873826/Annexure-2-Premium-Chart-Family-Health-Optima-Insurance-Plan-Revised` | URL reachable but no source_quote provided | diff --git a/40-data/llm_health.json b/40-data/llm_health.json index 0c810ef140dac43b76d7769f1cdf2ddaa96d6af7..36e8dcfcd28ee6f8004261f7c68b505546a181d4 100644 --- a/40-data/llm_health.json +++ b/40-data/llm_health.json @@ -1,125 +1,145 @@ { - "updated_at": "2026-05-14T01:03:07Z", + "updated_at": "2026-05-14T16:35:39Z", "models": { "qwen/qwen3-next-80b-a3b-instruct": { "model": "qwen/qwen3-next-80b-a3b-instruct", "status": "healthy", - "last_success_at": "2026-05-14T01:03:07Z", + "last_success_at": "2026-05-14T16:35:39Z", "last_failure_at": null, "last_error": null, - "latency_ms": 329, + "latency_ms": 286, "consecutive_failures": 0, - "tested_at": "2026-05-14T01:03:07Z" + "tested_at": "2026-05-14T16:35:39Z" }, "qwen/qwen3.5-122b-a10b": { "model": "qwen/qwen3.5-122b-a10b", - "status": "degraded", + "status": "down", "last_success_at": null, - "last_failure_at": "2026-05-14T01:03:07Z", - "last_error": "empty_content", + "last_failure_at": "2026-05-14T16:35:39Z", + "last_error": "timeout", "latency_ms": null, - "consecutive_failures": 1, - "tested_at": "2026-05-14T01:03:07Z" + "consecutive_failures": 5, + "tested_at": "2026-05-14T16:35:39Z" }, "openai/gpt-oss-120b": { "model": "openai/gpt-oss-120b", - "status": "degraded", + "status": "down", "last_success_at": null, - "last_failure_at": "2026-05-14T01:03:07Z", + "last_failure_at": "2026-05-14T16:35:39Z", "last_error": "empty_content", "latency_ms": null, - "consecutive_failures": 1, - "tested_at": "2026-05-14T01:03:07Z" + "consecutive_failures": 5, + "tested_at": "2026-05-14T16:35:39Z" }, "mistralai/mistral-large-3-675b-instruct-2512": { "model": "mistralai/mistral-large-3-675b-instruct-2512", - "status": "degraded", + "status": "down", "last_success_at": null, - "last_failure_at": "2026-05-14T01:03:07Z", + "last_failure_at": "2026-05-14T16:35:39Z", "last_error": "timeout", "latency_ms": null, - "consecutive_failures": 1, - "tested_at": "2026-05-14T01:03:07Z" + "consecutive_failures": 5, + "tested_at": "2026-05-14T16:35:39Z" }, "nvidia/llama-3.3-nemotron-super-49b-v1.5": { "model": "nvidia/llama-3.3-nemotron-super-49b-v1.5", - "status": "degraded", + "status": "down", "last_success_at": null, - "last_failure_at": "2026-05-14T01:03:07Z", + "last_failure_at": "2026-05-14T16:35:39Z", "last_error": "empty_content", "latency_ms": null, - "consecutive_failures": 1, - "tested_at": "2026-05-14T01:03:07Z" + "consecutive_failures": 5, + "tested_at": "2026-05-14T16:35:39Z" }, "meta/llama-3.3-70b-instruct": { "model": "meta/llama-3.3-70b-instruct", - "status": "degraded", - "last_success_at": "2026-05-14T01:03:07Z", - "last_failure_at": null, + "status": "healthy", + "last_success_at": "2026-05-14T16:35:39Z", + "last_failure_at": "2026-05-14T15:58:40Z", "last_error": null, - "latency_ms": 8163, + "latency_ms": 479, "consecutive_failures": 0, - "tested_at": "2026-05-14T01:03:07Z" + "tested_at": "2026-05-14T16:35:39Z" }, "deepseek-ai/deepseek-v4-pro": { "model": "deepseek-ai/deepseek-v4-pro", - "status": "degraded", + "status": "down", "last_success_at": null, - "last_failure_at": "2026-05-14T01:03:07Z", + "last_failure_at": "2026-05-14T16:35:39Z", "last_error": "timeout", "latency_ms": null, - "consecutive_failures": 1, - "tested_at": "2026-05-14T01:03:07Z" + "consecutive_failures": 5, + "tested_at": "2026-05-14T16:35:39Z" }, "nvidia/nemotron-3-nano-30b-a3b": { "model": "nvidia/nemotron-3-nano-30b-a3b", - "status": "degraded", + "status": "down", "last_success_at": null, - "last_failure_at": "2026-05-14T01:03:07Z", + "last_failure_at": "2026-05-14T16:35:39Z", "last_error": "empty_content", "latency_ms": null, - "consecutive_failures": 1, - "tested_at": "2026-05-14T01:03:07Z" + "consecutive_failures": 5, + "tested_at": "2026-05-14T16:35:39Z" }, "deepseek-ai/deepseek-v4-flash": { "model": "deepseek-ai/deepseek-v4-flash", - "status": "degraded", + "status": "down", "last_success_at": null, - "last_failure_at": "2026-05-14T01:03:07Z", + "last_failure_at": "2026-05-14T16:35:39Z", "last_error": "timeout", "latency_ms": null, - "consecutive_failures": 1, - "tested_at": "2026-05-14T01:03:07Z" + "consecutive_failures": 5, + "tested_at": "2026-05-14T16:35:39Z" }, "moonshotai/kimi-k2-instruct-0905": { "model": "moonshotai/kimi-k2-instruct-0905", - "status": "degraded", + "status": "down", "last_success_at": null, - "last_failure_at": "2026-05-14T01:03:07Z", + "last_failure_at": "2026-05-14T16:35:39Z", "last_error": "http_404", "latency_ms": null, - "consecutive_failures": 1, - "tested_at": "2026-05-14T01:03:07Z" + "consecutive_failures": 5, + "tested_at": "2026-05-14T16:35:39Z" }, "minimaxai/minimax-m2.5": { "model": "minimaxai/minimax-m2.5", - "status": "degraded", + "status": "down", "last_success_at": null, - "last_failure_at": "2026-05-14T01:03:07Z", + "last_failure_at": "2026-05-14T16:35:39Z", "last_error": "http_410", "latency_ms": null, - "consecutive_failures": 1, - "tested_at": "2026-05-14T01:03:07Z" + "consecutive_failures": 5, + "tested_at": "2026-05-14T16:35:39Z" }, "meta/llama-4-maverick-17b-128e-instruct": { "model": "meta/llama-4-maverick-17b-128e-instruct", "status": "degraded", - "last_success_at": null, + "last_success_at": "2026-05-14T16:35:39Z", "last_failure_at": "2026-05-14T01:03:07Z", - "last_error": "timeout", + "last_error": null, + "latency_ms": 7197, + "consecutive_failures": 0, + "tested_at": "2026-05-14T16:35:39Z" + }, + "openrouter:openai/gpt-oss-120b": { + "model": "openrouter:openai/gpt-oss-120b", + "status": "down", + "last_success_at": null, + "last_failure_at": "2026-05-14T16:35:39Z", + "last_error": "empty_content", "latency_ms": null, - "consecutive_failures": 1, - "tested_at": "2026-05-14T01:03:07Z" + "consecutive_failures": 4, + "tested_at": "2026-05-14T16:35:39Z" + }, + "groq:llama-3.3-70b-versatile": { + "model": "groq:llama-3.3-70b-versatile", + "status": "healthy", + "last_success_at": "2026-05-14T16:35:39Z", + "last_failure_at": null, + "last_error": null, + "latency_ms": 200, + "consecutive_failures": 0, + "tested_at": "2026-05-14T16:35:39Z" } } } diff --git a/40-data/llm_usage.jsonl b/40-data/llm_usage.jsonl new file mode 100644 index 0000000000000000000000000000000000000000..3a3086c5fbe0b8faf130c1a51076669511834c87 --- /dev/null +++ b/40-data/llm_usage.jsonl @@ -0,0 +1,313 @@ +{"ts": "2026-05-14T10:15:50Z", "role": "judge", "chain_primary": "mistralai/mistral-large-3-675b-instruct-2512", "served_model": "openai/gpt-oss-120b", "latency_ms": 31360, "success": true} +{"ts": "2026-05-14T10:15:59Z", "role": "judge", "chain_primary": "mistralai/mistral-large-3-675b-instruct-2512", "served_model": "mistralai/mistral-large-3-675b-instruct-2512", "latency_ms": 9040, "success": true} +{"ts": "2026-05-14T10:16:13Z", "role": "judge", "chain_primary": "mistralai/mistral-large-3-675b-instruct-2512", "served_model": "mistralai/mistral-large-3-675b-instruct-2512", "latency_ms": 13156, "success": true} +{"ts": "2026-05-14T10:16:47Z", "role": "judge", "chain_primary": "mistralai/mistral-large-3-675b-instruct-2512", "served_model": "openai/gpt-oss-120b", "latency_ms": 31769, "success": true} +{"ts": "2026-05-14T10:17:15Z", "role": "judge", "chain_primary": "mistralai/mistral-large-3-675b-instruct-2512", "served_model": "mistralai/mistral-large-3-675b-instruct-2512", "latency_ms": 15073, "success": true} +{"ts": "2026-05-14T10:17:31Z", "role": "judge", "chain_primary": "mistralai/mistral-large-3-675b-instruct-2512", "served_model": "mistralai/mistral-large-3-675b-instruct-2512", "latency_ms": 16104, "success": true} +{"ts": "2026-05-14T10:18:03Z", "role": "judge", "chain_primary": "mistralai/mistral-large-3-675b-instruct-2512", "served_model": "openai/gpt-oss-120b", "latency_ms": 31495, "success": true} +{"ts": "2026-05-14T10:18:22Z", "role": "judge", "chain_primary": "mistralai/mistral-large-3-675b-instruct-2512", "served_model": "mistralai/mistral-large-3-675b-instruct-2512", "latency_ms": 7038, "success": true} +{"ts": "2026-05-14T10:18:32Z", "role": "judge", "chain_primary": "mistralai/mistral-large-3-675b-instruct-2512", "served_model": "mistralai/mistral-large-3-675b-instruct-2512", "latency_ms": 7555, "success": true} +{"ts": "2026-05-14T10:18:40Z", "role": "judge", "chain_primary": "mistralai/mistral-large-3-675b-instruct-2512", "served_model": "mistralai/mistral-large-3-675b-instruct-2512", "latency_ms": 8097, "success": true} +{"ts": "2026-05-14T10:18:50Z", "role": "judge", "chain_primary": "mistralai/mistral-large-3-675b-instruct-2512", "served_model": "mistralai/mistral-large-3-675b-instruct-2512", "latency_ms": 8971, "success": true} +{"ts": "2026-05-14T10:19:02Z", "role": "fast_brain", "chain_primary": "qwen/qwen3-next-80b-a3b-instruct", "served_model": "qwen/qwen3-next-80b-a3b-instruct", "latency_ms": 1537, "success": true} +{"ts": "2026-05-14T10:19:10Z", "role": "judge", "chain_primary": "mistralai/mistral-large-3-675b-instruct-2512", "served_model": "mistralai/mistral-large-3-675b-instruct-2512", "latency_ms": 7407, "success": true} +{"ts": "2026-05-14T10:19:24Z", "role": "fast_brain", "chain_primary": "qwen/qwen3-next-80b-a3b-instruct", "served_model": "qwen/qwen3-next-80b-a3b-instruct", "latency_ms": 2668, "success": true} +{"ts": "2026-05-14T10:19:55Z", "role": "judge", "chain_primary": "mistralai/mistral-large-3-675b-instruct-2512", "served_model": "openai/gpt-oss-120b", "latency_ms": 31366, "success": true} +{"ts": "2026-05-14T10:20:05Z", "role": "fast_brain", "chain_primary": "qwen/qwen3-next-80b-a3b-instruct", "served_model": "qwen/qwen3-next-80b-a3b-instruct", "latency_ms": 4099, "success": true} +{"ts": "2026-05-14T10:20:23Z", "role": "judge", "chain_primary": "mistralai/mistral-large-3-675b-instruct-2512", "served_model": "mistralai/mistral-large-3-675b-instruct-2512", "latency_ms": 18564, "success": true} +{"ts": "2026-05-14T10:20:30Z", "role": "fast_brain", "chain_primary": "qwen/qwen3-next-80b-a3b-instruct", "served_model": "qwen/qwen3-next-80b-a3b-instruct", "latency_ms": 1260, "success": true} +{"ts": "2026-05-14T10:20:41Z", "role": "judge", "chain_primary": "mistralai/mistral-large-3-675b-instruct-2512", "served_model": "mistralai/mistral-large-3-675b-instruct-2512", "latency_ms": 11219, "success": true} +{"ts": "2026-05-14T10:20:49Z", "role": "fast_brain", "chain_primary": "qwen/qwen3-next-80b-a3b-instruct", "served_model": "qwen/qwen3-next-80b-a3b-instruct", "latency_ms": 3964, "success": true} +{"ts": "2026-05-14T10:20:56Z", "role": "judge", "chain_primary": "mistralai/mistral-large-3-675b-instruct-2512", "served_model": "mistralai/mistral-large-3-675b-instruct-2512", "latency_ms": 7004, "success": true} +{"ts": "2026-05-14T10:21:05Z", "role": "fast_brain", "chain_primary": "qwen/qwen3-next-80b-a3b-instruct", "served_model": "qwen/qwen3-next-80b-a3b-instruct", "latency_ms": 4454, "success": true} +{"ts": "2026-05-14T10:21:13Z", "role": "fast_brain", "chain_primary": "qwen/qwen3-next-80b-a3b-instruct", "served_model": "qwen/qwen3-next-80b-a3b-instruct", "latency_ms": 1802, "success": true} +{"ts": "2026-05-14T10:21:20Z", "role": "fast_brain", "chain_primary": "qwen/qwen3-next-80b-a3b-instruct", "served_model": "qwen/qwen3-next-80b-a3b-instruct", "latency_ms": 2258, "success": true} +{"ts": "2026-05-14T10:21:26Z", "role": "fast_brain", "chain_primary": "qwen/qwen3-next-80b-a3b-instruct", "served_model": "qwen/qwen3-next-80b-a3b-instruct", "latency_ms": 2145, "success": true} +{"ts": "2026-05-14T10:21:31Z", "role": "judge", "chain_primary": "mistralai/mistral-large-3-675b-instruct-2512", "served_model": "mistralai/mistral-large-3-675b-instruct-2512", "latency_ms": 4520, "success": true} +{"ts": "2026-05-14T10:21:46Z", "role": "fast_brain", "chain_primary": "qwen/qwen3-next-80b-a3b-instruct", "served_model": "qwen/qwen3-next-80b-a3b-instruct", "latency_ms": 4123, "success": true} +{"ts": "2026-05-14T10:22:09Z", "role": "judge", "chain_primary": "mistralai/mistral-large-3-675b-instruct-2512", "served_model": "mistralai/mistral-large-3-675b-instruct-2512", "latency_ms": 23749, "success": true} +{"ts": "2026-05-14T10:22:17Z", "role": "fast_brain", "chain_primary": "qwen/qwen3-next-80b-a3b-instruct", "served_model": "qwen/qwen3-next-80b-a3b-instruct", "latency_ms": 2506, "success": true} +{"ts": "2026-05-14T10:22:27Z", "role": "judge", "chain_primary": "mistralai/mistral-large-3-675b-instruct-2512", "served_model": "mistralai/mistral-large-3-675b-instruct-2512", "latency_ms": 10569, "success": true} +{"ts": "2026-05-14T10:22:36Z", "role": "fast_brain", "chain_primary": "qwen/qwen3-next-80b-a3b-instruct", "served_model": "qwen/qwen3-next-80b-a3b-instruct", "latency_ms": 1997, "success": true} +{"ts": "2026-05-14T10:22:49Z", "role": "fast_brain", "chain_primary": "qwen/qwen3-next-80b-a3b-instruct", "served_model": "qwen/qwen3-next-80b-a3b-instruct", "latency_ms": 1465, "success": true} +{"ts": "2026-05-14T10:22:56Z", "role": "fast_brain", "chain_primary": "qwen/qwen3-next-80b-a3b-instruct", "served_model": "qwen/qwen3-next-80b-a3b-instruct", "latency_ms": 2554, "success": true} +{"ts": "2026-05-14T10:23:14Z", "role": "fast_brain", "chain_primary": "qwen/qwen3-next-80b-a3b-instruct", "served_model": "qwen/qwen3-next-80b-a3b-instruct", "latency_ms": 5818, "success": true} +{"ts": "2026-05-14T10:23:21Z", "role": "judge", "chain_primary": "mistralai/mistral-large-3-675b-instruct-2512", "served_model": "mistralai/mistral-large-3-675b-instruct-2512", "latency_ms": 6689, "success": true} +{"ts": "2026-05-14T10:23:33Z", "role": "fast_brain", "chain_primary": "qwen/qwen3-next-80b-a3b-instruct", "served_model": "qwen/qwen3-next-80b-a3b-instruct", "latency_ms": 7966, "success": true} +{"ts": "2026-05-14T10:23:39Z", "role": "judge", "chain_primary": "mistralai/mistral-large-3-675b-instruct-2512", "served_model": "mistralai/mistral-large-3-675b-instruct-2512", "latency_ms": 5209, "success": true} +{"ts": "2026-05-14T10:23:50Z", "role": "fast_brain", "chain_primary": "qwen/qwen3-next-80b-a3b-instruct", "served_model": "qwen/qwen3-next-80b-a3b-instruct", "latency_ms": 3082, "success": true} +{"ts": "2026-05-14T10:24:00Z", "role": "judge", "chain_primary": "mistralai/mistral-large-3-675b-instruct-2512", "served_model": "mistralai/mistral-large-3-675b-instruct-2512", "latency_ms": 9626, "success": true} +{"ts": "2026-05-14T10:24:06Z", "role": "fast_brain", "chain_primary": "qwen/qwen3-next-80b-a3b-instruct", "served_model": "qwen/qwen3-next-80b-a3b-instruct", "latency_ms": 1849, "success": true} +{"ts": "2026-05-14T10:24:39Z", "role": "judge", "chain_primary": "mistralai/mistral-large-3-675b-instruct-2512", "served_model": "openai/gpt-oss-120b", "latency_ms": 32852, "success": true} +{"ts": "2026-05-14T10:24:58Z", "role": "fast_brain", "chain_primary": "qwen/qwen3-next-80b-a3b-instruct", "served_model": "qwen/qwen3-next-80b-a3b-instruct", "latency_ms": 5131, "success": true} +{"ts": "2026-05-14T10:25:29Z", "role": "judge", "chain_primary": "mistralai/mistral-large-3-675b-instruct-2512", "served_model": "openai/gpt-oss-120b", "latency_ms": 31738, "success": true} +{"ts": "2026-05-14T10:25:39Z", "role": "fast_brain", "chain_primary": "qwen/qwen3-next-80b-a3b-instruct", "served_model": "qwen/qwen3-next-80b-a3b-instruct", "latency_ms": 4841, "success": true} +{"ts": "2026-05-14T10:25:54Z", "role": "judge", "chain_primary": "mistralai/mistral-large-3-675b-instruct-2512", "served_model": "mistralai/mistral-large-3-675b-instruct-2512", "latency_ms": 15091, "success": true} +{"ts": "2026-05-14T10:26:04Z", "role": "fast_brain", "chain_primary": "qwen/qwen3-next-80b-a3b-instruct", "served_model": "qwen/qwen3-next-80b-a3b-instruct", "latency_ms": 4970, "success": true} +{"ts": "2026-05-14T10:26:15Z", "role": "judge", "chain_primary": "mistralai/mistral-large-3-675b-instruct-2512", "served_model": "mistralai/mistral-large-3-675b-instruct-2512", "latency_ms": 11212, "success": true} +{"ts": "2026-05-14T10:26:22Z", "role": "fast_brain", "chain_primary": "qwen/qwen3-next-80b-a3b-instruct", "served_model": "qwen/qwen3-next-80b-a3b-instruct", "latency_ms": 2451, "success": true} +{"ts": "2026-05-14T10:26:37Z", "role": "judge", "chain_primary": "mistralai/mistral-large-3-675b-instruct-2512", "served_model": "mistralai/mistral-large-3-675b-instruct-2512", "latency_ms": 14432, "success": true} +{"ts": "2026-05-14T10:26:46Z", "role": "fast_brain", "chain_primary": "qwen/qwen3-next-80b-a3b-instruct", "served_model": "qwen/qwen3-next-80b-a3b-instruct", "latency_ms": 3246, "success": true} +{"ts": "2026-05-14T10:26:59Z", "role": "judge", "chain_primary": "mistralai/mistral-large-3-675b-instruct-2512", "served_model": "mistralai/mistral-large-3-675b-instruct-2512", "latency_ms": 12709, "success": true} +{"ts": "2026-05-14T10:27:05Z", "role": "fast_brain", "chain_primary": "qwen/qwen3-next-80b-a3b-instruct", "served_model": "qwen/qwen3-next-80b-a3b-instruct", "latency_ms": 1996, "success": true} +{"ts": "2026-05-14T10:27:16Z", "role": "fast_brain", "chain_primary": "qwen/qwen3-next-80b-a3b-instruct", "served_model": "qwen/qwen3-next-80b-a3b-instruct", "latency_ms": 3101, "success": true} +{"ts": "2026-05-14T10:29:32Z", "role": "fast_brain", "chain_primary": "qwen/qwen3-next-80b-a3b-instruct", "served_model": "qwen/qwen3-next-80b-a3b-instruct", "latency_ms": 2877, "success": true} +{"ts": "2026-05-14T10:29:45Z", "role": "fast_brain", "chain_primary": "qwen/qwen3-next-80b-a3b-instruct", "served_model": "qwen/qwen3-next-80b-a3b-instruct", "latency_ms": 7957, "success": true} +{"ts": "2026-05-14T10:30:17Z", "role": "judge", "chain_primary": "mistralai/mistral-large-3-675b-instruct-2512", "served_model": "openai/gpt-oss-120b", "latency_ms": 31909, "success": true} +{"ts": "2026-05-14T10:30:29Z", "role": "fast_brain", "chain_primary": "qwen/qwen3-next-80b-a3b-instruct", "served_model": "qwen/qwen3-next-80b-a3b-instruct", "latency_ms": 5521, "success": true} +{"ts": "2026-05-14T10:31:01Z", "role": "judge", "chain_primary": "mistralai/mistral-large-3-675b-instruct-2512", "served_model": "openai/gpt-oss-120b", "latency_ms": 32362, "success": true} +{"ts": "2026-05-14T10:31:10Z", "role": "fast_brain", "chain_primary": "qwen/qwen3-next-80b-a3b-instruct", "served_model": "qwen/qwen3-next-80b-a3b-instruct", "latency_ms": 4203, "success": true} +{"ts": "2026-05-14T10:31:20Z", "role": "judge", "chain_primary": "mistralai/mistral-large-3-675b-instruct-2512", "served_model": "mistralai/mistral-large-3-675b-instruct-2512", "latency_ms": 9069, "success": true} +{"ts": "2026-05-14T10:31:35Z", "role": "fast_brain", "chain_primary": "qwen/qwen3-next-80b-a3b-instruct", "served_model": "qwen/qwen3-next-80b-a3b-instruct", "latency_ms": 9179, "success": true} +{"ts": "2026-05-14T10:31:47Z", "role": "judge", "chain_primary": "mistralai/mistral-large-3-675b-instruct-2512", "served_model": "mistralai/mistral-large-3-675b-instruct-2512", "latency_ms": 11771, "success": true} +{"ts": "2026-05-14T10:31:58Z", "role": "fast_brain", "chain_primary": "qwen/qwen3-next-80b-a3b-instruct", "served_model": "qwen/qwen3-next-80b-a3b-instruct", "latency_ms": 1771, "success": true} +{"ts": "2026-05-14T10:32:09Z", "role": "judge", "chain_primary": "mistralai/mistral-large-3-675b-instruct-2512", "served_model": "mistralai/mistral-large-3-675b-instruct-2512", "latency_ms": 10849, "success": true} +{"ts": "2026-05-14T10:32:20Z", "role": "fast_brain", "chain_primary": "qwen/qwen3-next-80b-a3b-instruct", "served_model": "qwen/qwen3-next-80b-a3b-instruct", "latency_ms": 6659, "success": true} +{"ts": "2026-05-14T10:32:30Z", "role": "judge", "chain_primary": "mistralai/mistral-large-3-675b-instruct-2512", "served_model": "mistralai/mistral-large-3-675b-instruct-2512", "latency_ms": 10241, "success": true} +{"ts": "2026-05-14T10:32:42Z", "role": "fast_brain", "chain_primary": "qwen/qwen3-next-80b-a3b-instruct", "served_model": "qwen/qwen3-next-80b-a3b-instruct", "latency_ms": 4992, "success": true} +{"ts": "2026-05-14T10:33:14Z", "role": "judge", "chain_primary": "mistralai/mistral-large-3-675b-instruct-2512", "served_model": "openai/gpt-oss-120b", "latency_ms": 31934, "success": true} +{"ts": "2026-05-14T10:33:33Z", "role": "fast_brain", "chain_primary": "qwen/qwen3-next-80b-a3b-instruct", "served_model": "qwen/qwen3-next-80b-a3b-instruct", "latency_ms": 5597, "success": true} +{"ts": "2026-05-14T10:33:44Z", "role": "judge", "chain_primary": "mistralai/mistral-large-3-675b-instruct-2512", "served_model": "mistralai/mistral-large-3-675b-instruct-2512", "latency_ms": 10698, "success": true} +{"ts": "2026-05-14T10:34:02Z", "role": "fast_brain", "chain_primary": "qwen/qwen3-next-80b-a3b-instruct", "served_model": "qwen/qwen3-next-80b-a3b-instruct", "latency_ms": 6989, "success": true} +{"ts": "2026-05-14T10:34:26Z", "role": "fast_brain", "chain_primary": "qwen/qwen3-next-80b-a3b-instruct", "served_model": "qwen/qwen3-next-80b-a3b-instruct", "latency_ms": 2838, "success": true} +{"ts": "2026-05-14T10:34:36Z", "role": "fast_brain", "chain_primary": "qwen/qwen3-next-80b-a3b-instruct", "served_model": "qwen/qwen3-next-80b-a3b-instruct", "latency_ms": 3816, "success": true} +{"ts": "2026-05-14T10:34:58Z", "role": "fast_brain", "chain_primary": "qwen/qwen3-next-80b-a3b-instruct", "served_model": "qwen/qwen3-next-80b-a3b-instruct", "latency_ms": 9211, "success": true} +{"ts": "2026-05-14T10:35:06Z", "role": "fast_brain", "chain_primary": "qwen/qwen3-next-80b-a3b-instruct", "served_model": "qwen/qwen3-next-80b-a3b-instruct", "latency_ms": 2517, "success": true} +{"ts": "2026-05-14T10:35:16Z", "role": "judge", "chain_primary": "mistralai/mistral-large-3-675b-instruct-2512", "served_model": "mistralai/mistral-large-3-675b-instruct-2512", "latency_ms": 10844, "success": true} +{"ts": "2026-05-14T10:35:32Z", "role": "fast_brain", "chain_primary": "qwen/qwen3-next-80b-a3b-instruct", "served_model": "qwen/qwen3-next-80b-a3b-instruct", "latency_ms": 2960, "success": true} +{"ts": "2026-05-14T10:35:42Z", "role": "judge", "chain_primary": "mistralai/mistral-large-3-675b-instruct-2512", "served_model": "mistralai/mistral-large-3-675b-instruct-2512", "latency_ms": 10192, "success": true} +{"ts": "2026-05-14T10:35:49Z", "role": "fast_brain", "chain_primary": "qwen/qwen3-next-80b-a3b-instruct", "served_model": "qwen/qwen3-next-80b-a3b-instruct", "latency_ms": 2934, "success": true} +{"ts": "2026-05-14T10:36:05Z", "role": "judge", "chain_primary": "mistralai/mistral-large-3-675b-instruct-2512", "served_model": "mistralai/mistral-large-3-675b-instruct-2512", "latency_ms": 15610, "success": true} +{"ts": "2026-05-14T10:36:36Z", "role": "fast_brain", "chain_primary": "qwen/qwen3-next-80b-a3b-instruct", "served_model": "qwen/qwen3-next-80b-a3b-instruct", "latency_ms": 11783, "success": true} +{"ts": "2026-05-14T10:36:43Z", "role": "judge", "chain_primary": "mistralai/mistral-large-3-675b-instruct-2512", "served_model": "mistralai/mistral-large-3-675b-instruct-2512", "latency_ms": 7276, "success": true} +{"ts": "2026-05-14T10:36:52Z", "role": "fast_brain", "chain_primary": "qwen/qwen3-next-80b-a3b-instruct", "served_model": "qwen/qwen3-next-80b-a3b-instruct", "latency_ms": 4211, "success": true} +{"ts": "2026-05-14T10:37:06Z", "role": "judge", "chain_primary": "mistralai/mistral-large-3-675b-instruct-2512", "served_model": "mistralai/mistral-large-3-675b-instruct-2512", "latency_ms": 13798, "success": true} +{"ts": "2026-05-14T10:37:14Z", "role": "fast_brain", "chain_primary": "qwen/qwen3-next-80b-a3b-instruct", "served_model": "qwen/qwen3-next-80b-a3b-instruct", "latency_ms": 2844, "success": true} +{"ts": "2026-05-14T10:37:28Z", "role": "judge", "chain_primary": "mistralai/mistral-large-3-675b-instruct-2512", "served_model": "mistralai/mistral-large-3-675b-instruct-2512", "latency_ms": 13921, "success": true} +{"ts": "2026-05-14T10:37:35Z", "role": "fast_brain", "chain_primary": "qwen/qwen3-next-80b-a3b-instruct", "served_model": "qwen/qwen3-next-80b-a3b-instruct", "latency_ms": 2468, "success": true} +{"ts": "2026-05-14T10:37:43Z", "role": "judge", "chain_primary": "mistralai/mistral-large-3-675b-instruct-2512", "served_model": "mistralai/mistral-large-3-675b-instruct-2512", "latency_ms": 7914, "success": true} +{"ts": "2026-05-14T10:37:53Z", "role": "fast_brain", "chain_primary": "qwen/qwen3-next-80b-a3b-instruct", "served_model": "qwen/qwen3-next-80b-a3b-instruct", "latency_ms": 5109, "success": true} +{"ts": "2026-05-14T10:38:00Z", "role": "judge", "chain_primary": "mistralai/mistral-large-3-675b-instruct-2512", "served_model": "mistralai/mistral-large-3-675b-instruct-2512", "latency_ms": 6859, "success": true} +{"ts": "2026-05-14T10:38:15Z", "role": "fast_brain", "chain_primary": "qwen/qwen3-next-80b-a3b-instruct", "served_model": "qwen/qwen3-next-80b-a3b-instruct", "latency_ms": 2874, "success": true} +{"ts": "2026-05-14T10:38:22Z", "role": "fast_brain", "chain_primary": "qwen/qwen3-next-80b-a3b-instruct", "served_model": "qwen/qwen3-next-80b-a3b-instruct", "latency_ms": 3086, "success": true} +{"ts": "2026-05-14T10:38:41Z", "role": "fast_brain", "chain_primary": "qwen/qwen3-next-80b-a3b-instruct", "served_model": "qwen/qwen3-next-80b-a3b-instruct", "latency_ms": 13388, "success": true} +{"ts": "2026-05-14T10:38:49Z", "role": "fast_brain", "chain_primary": "qwen/qwen3-next-80b-a3b-instruct", "served_model": "qwen/qwen3-next-80b-a3b-instruct", "latency_ms": 1701, "success": true} +{"ts": "2026-05-14T10:38:55Z", "role": "judge", "chain_primary": "mistralai/mistral-large-3-675b-instruct-2512", "served_model": "mistralai/mistral-large-3-675b-instruct-2512", "latency_ms": 6752, "success": true} +{"ts": "2026-05-14T10:39:11Z", "role": "fast_brain", "chain_primary": "qwen/qwen3-next-80b-a3b-instruct", "served_model": "qwen/qwen3-next-80b-a3b-instruct", "latency_ms": 4275, "success": true} +{"ts": "2026-05-14T10:39:43Z", "role": "judge", "chain_primary": "mistralai/mistral-large-3-675b-instruct-2512", "served_model": "openai/gpt-oss-120b", "latency_ms": 31996, "success": true} +{"ts": "2026-05-14T10:39:57Z", "role": "fast_brain", "chain_primary": "qwen/qwen3-next-80b-a3b-instruct", "served_model": "qwen/qwen3-next-80b-a3b-instruct", "latency_ms": 2791, "success": true} +{"ts": "2026-05-14T10:40:10Z", "role": "judge", "chain_primary": "mistralai/mistral-large-3-675b-instruct-2512", "served_model": "mistralai/mistral-large-3-675b-instruct-2512", "latency_ms": 7170, "success": true} +{"ts": "2026-05-14T10:40:30Z", "role": "fast_brain", "chain_primary": "qwen/qwen3-next-80b-a3b-instruct", "served_model": "qwen/qwen3-next-80b-a3b-instruct", "latency_ms": 3013, "success": true} +{"ts": "2026-05-14T10:40:37Z", "role": "judge", "chain_primary": "mistralai/mistral-large-3-675b-instruct-2512", "served_model": "mistralai/mistral-large-3-675b-instruct-2512", "latency_ms": 7066, "success": true} +{"ts": "2026-05-14T10:40:49Z", "role": "fast_brain", "chain_primary": "qwen/qwen3-next-80b-a3b-instruct", "served_model": "qwen/qwen3-next-80b-a3b-instruct", "latency_ms": 4538, "success": true} +{"ts": "2026-05-14T10:41:02Z", "role": "judge", "chain_primary": "mistralai/mistral-large-3-675b-instruct-2512", "served_model": "mistralai/mistral-large-3-675b-instruct-2512", "latency_ms": 12738, "success": true} +{"ts": "2026-05-14T10:41:19Z", "role": "fast_brain", "chain_primary": "qwen/qwen3-next-80b-a3b-instruct", "served_model": "qwen/qwen3-next-80b-a3b-instruct", "latency_ms": 10598, "success": true} +{"ts": "2026-05-14T10:41:37Z", "role": "judge", "chain_primary": "mistralai/mistral-large-3-675b-instruct-2512", "served_model": "mistralai/mistral-large-3-675b-instruct-2512", "latency_ms": 17983, "success": true} +{"ts": "2026-05-14T10:41:45Z", "role": "fast_brain", "chain_primary": "qwen/qwen3-next-80b-a3b-instruct", "served_model": "qwen/qwen3-next-80b-a3b-instruct", "latency_ms": 2419, "success": true} +{"ts": "2026-05-14T10:42:23Z", "role": "judge", "chain_primary": "mistralai/mistral-large-3-675b-instruct-2512", "served_model": "openai/gpt-oss-120b", "latency_ms": 38599, "success": true} +{"ts": "2026-05-14T10:42:44Z", "role": "fast_brain", "chain_primary": "qwen/qwen3-next-80b-a3b-instruct", "served_model": "qwen/qwen3-next-80b-a3b-instruct", "latency_ms": 8366, "success": true} +{"ts": "2026-05-14T10:42:53Z", "role": "fast_brain", "chain_primary": "qwen/qwen3-next-80b-a3b-instruct", "served_model": "qwen/qwen3-next-80b-a3b-instruct", "latency_ms": 3690, "success": true} +{"ts": "2026-05-14T10:42:59Z", "role": "fast_brain", "chain_primary": "qwen/qwen3-next-80b-a3b-instruct", "served_model": "qwen/qwen3-next-80b-a3b-instruct", "latency_ms": 1886, "success": true} +{"ts": "2026-05-14T10:43:10Z", "role": "fast_brain", "chain_primary": "qwen/qwen3-next-80b-a3b-instruct", "served_model": "qwen/qwen3-next-80b-a3b-instruct", "latency_ms": 4478, "success": true} +{"ts": "2026-05-14T10:43:41Z", "role": "judge", "chain_primary": "mistralai/mistral-large-3-675b-instruct-2512", "served_model": "openai/gpt-oss-120b", "latency_ms": 31793, "success": true} +{"ts": "2026-05-14T10:43:59Z", "role": "fast_brain", "chain_primary": "qwen/qwen3-next-80b-a3b-instruct", "served_model": "qwen/qwen3-next-80b-a3b-instruct", "latency_ms": 4351, "success": true} +{"ts": "2026-05-14T10:44:30Z", "role": "judge", "chain_primary": "mistralai/mistral-large-3-675b-instruct-2512", "served_model": "openai/gpt-oss-120b", "latency_ms": 31824, "success": true} +{"ts": "2026-05-14T10:44:42Z", "role": "fast_brain", "chain_primary": "qwen/qwen3-next-80b-a3b-instruct", "served_model": "qwen/qwen3-next-80b-a3b-instruct", "latency_ms": 6407, "success": true} +{"ts": "2026-05-14T10:45:14Z", "role": "judge", "chain_primary": "mistralai/mistral-large-3-675b-instruct-2512", "served_model": "openai/gpt-oss-120b", "latency_ms": 31842, "success": true} +{"ts": "2026-05-14T10:45:21Z", "role": "fast_brain", "chain_primary": "qwen/qwen3-next-80b-a3b-instruct", "served_model": "qwen/qwen3-next-80b-a3b-instruct", "latency_ms": 2263, "success": true} +{"ts": "2026-05-14T10:45:55Z", "role": "judge", "chain_primary": "mistralai/mistral-large-3-675b-instruct-2512", "served_model": "openai/gpt-oss-120b", "latency_ms": 33995, "success": true} +{"ts": "2026-05-14T10:46:02Z", "role": "fast_brain", "chain_primary": "qwen/qwen3-next-80b-a3b-instruct", "served_model": "qwen/qwen3-next-80b-a3b-instruct", "latency_ms": 2543, "success": true} +{"ts": "2026-05-14T10:46:14Z", "role": "judge", "chain_primary": "mistralai/mistral-large-3-675b-instruct-2512", "served_model": "mistralai/mistral-large-3-675b-instruct-2512", "latency_ms": 11744, "success": true} +{"ts": "2026-05-14T10:46:25Z", "role": "fast_brain", "chain_primary": "qwen/qwen3-next-80b-a3b-instruct", "served_model": "qwen/qwen3-next-80b-a3b-instruct", "latency_ms": 3612, "success": true} +{"ts": "2026-05-14T10:46:57Z", "role": "judge", "chain_primary": "mistralai/mistral-large-3-675b-instruct-2512", "served_model": "openai/gpt-oss-120b", "latency_ms": 31815, "success": true} +{"ts": "2026-05-14T10:47:07Z", "role": "fast_brain", "chain_primary": "qwen/qwen3-next-80b-a3b-instruct", "served_model": "qwen/qwen3-next-80b-a3b-instruct", "latency_ms": 3819, "success": true} +{"ts": "2026-05-14T10:47:39Z", "role": "judge", "chain_primary": "mistralai/mistral-large-3-675b-instruct-2512", "served_model": "openai/gpt-oss-120b", "latency_ms": 32108, "success": true} +{"ts": "2026-05-14T10:47:46Z", "role": "fast_brain", "chain_primary": "qwen/qwen3-next-80b-a3b-instruct", "served_model": "qwen/qwen3-next-80b-a3b-instruct", "latency_ms": 2600, "success": true} +{"ts": "2026-05-14T10:48:18Z", "role": "judge", "chain_primary": "mistralai/mistral-large-3-675b-instruct-2512", "served_model": "openai/gpt-oss-120b", "latency_ms": 31845, "success": true} +{"ts": "2026-05-14T10:48:28Z", "role": "fast_brain", "chain_primary": "qwen/qwen3-next-80b-a3b-instruct", "served_model": "qwen/qwen3-next-80b-a3b-instruct", "latency_ms": 3472, "success": true} +{"ts": "2026-05-14T10:48:36Z", "role": "fast_brain", "chain_primary": "qwen/qwen3-next-80b-a3b-instruct", "served_model": "qwen/qwen3-next-80b-a3b-instruct", "latency_ms": 3733, "success": true} +{"ts": "2026-05-14T10:48:51Z", "role": "fast_brain", "chain_primary": "qwen/qwen3-next-80b-a3b-instruct", "served_model": "qwen/qwen3-next-80b-a3b-instruct", "latency_ms": 9824, "success": true} +{"ts": "2026-05-14T10:49:01Z", "role": "fast_brain", "chain_primary": "qwen/qwen3-next-80b-a3b-instruct", "served_model": "qwen/qwen3-next-80b-a3b-instruct", "latency_ms": 4267, "success": true} +{"ts": "2026-05-14T10:49:33Z", "role": "judge", "chain_primary": "mistralai/mistral-large-3-675b-instruct-2512", "served_model": "openai/gpt-oss-120b", "latency_ms": 31637, "success": true} +{"ts": "2026-05-14T10:49:44Z", "role": "fast_brain", "chain_primary": "qwen/qwen3-next-80b-a3b-instruct", "served_model": "qwen/qwen3-next-80b-a3b-instruct", "latency_ms": 2963, "success": true} +{"ts": "2026-05-14T10:50:16Z", "role": "judge", "chain_primary": "mistralai/mistral-large-3-675b-instruct-2512", "served_model": "openai/gpt-oss-120b", "latency_ms": 31683, "success": true} +{"ts": "2026-05-14T10:50:38Z", "role": "fast_brain", "chain_primary": "qwen/qwen3-next-80b-a3b-instruct", "served_model": "qwen/qwen3-next-80b-a3b-instruct", "latency_ms": 10257, "success": true} +{"ts": "2026-05-14T10:51:10Z", "role": "judge", "chain_primary": "mistralai/mistral-large-3-675b-instruct-2512", "served_model": "openai/gpt-oss-120b", "latency_ms": 31804, "success": true} +{"ts": "2026-05-14T10:51:19Z", "role": "fast_brain", "chain_primary": "qwen/qwen3-next-80b-a3b-instruct", "served_model": "qwen/qwen3-next-80b-a3b-instruct", "latency_ms": 4728, "success": true} +{"ts": "2026-05-14T10:51:51Z", "role": "judge", "chain_primary": "mistralai/mistral-large-3-675b-instruct-2512", "served_model": "openai/gpt-oss-120b", "latency_ms": 31592, "success": true} +{"ts": "2026-05-14T10:52:05Z", "role": "fast_brain", "chain_primary": "qwen/qwen3-next-80b-a3b-instruct", "served_model": "qwen/qwen3-next-80b-a3b-instruct", "latency_ms": 3106, "success": true} +{"ts": "2026-05-14T10:52:37Z", "role": "judge", "chain_primary": "mistralai/mistral-large-3-675b-instruct-2512", "served_model": "openai/gpt-oss-120b", "latency_ms": 31786, "success": true} +{"ts": "2026-05-14T10:52:49Z", "role": "fast_brain", "chain_primary": "qwen/qwen3-next-80b-a3b-instruct", "served_model": "qwen/qwen3-next-80b-a3b-instruct", "latency_ms": 3904, "success": true} +{"ts": "2026-05-14T10:53:20Z", "role": "judge", "chain_primary": "mistralai/mistral-large-3-675b-instruct-2512", "served_model": "openai/gpt-oss-120b", "latency_ms": 31818, "success": true} +{"ts": "2026-05-14T10:53:29Z", "role": "fast_brain", "chain_primary": "qwen/qwen3-next-80b-a3b-instruct", "served_model": "qwen/qwen3-next-80b-a3b-instruct", "latency_ms": 4181, "success": true} +{"ts": "2026-05-14T10:53:40Z", "role": "fast_brain", "chain_primary": "qwen/qwen3-next-80b-a3b-instruct", "served_model": "qwen/qwen3-next-80b-a3b-instruct", "latency_ms": 2611, "success": true} +{"ts": "2026-05-14T10:53:52Z", "role": "fast_brain", "chain_primary": "qwen/qwen3-next-80b-a3b-instruct", "served_model": "qwen/qwen3-next-80b-a3b-instruct", "latency_ms": 2774, "success": true} +{"ts": "2026-05-14T10:56:10Z", "role": "fast_brain", "chain_primary": "qwen/qwen3-next-80b-a3b-instruct", "served_model": "qwen/qwen3-next-80b-a3b-instruct", "latency_ms": 9953, "success": true} +{"ts": "2026-05-14T10:56:18Z", "role": "fast_brain", "chain_primary": "qwen/qwen3-next-80b-a3b-instruct", "served_model": "qwen/qwen3-next-80b-a3b-instruct", "latency_ms": 3271, "success": true} +{"ts": "2026-05-14T10:56:26Z", "role": "fast_brain", "chain_primary": "qwen/qwen3-next-80b-a3b-instruct", "served_model": "qwen/qwen3-next-80b-a3b-instruct", "latency_ms": 4076, "success": true} +{"ts": "2026-05-14T10:56:39Z", "role": "fast_brain", "chain_primary": "qwen/qwen3-next-80b-a3b-instruct", "served_model": "qwen/qwen3-next-80b-a3b-instruct", "latency_ms": 5115, "success": true} +{"ts": "2026-05-14T10:56:52Z", "role": "fast_brain", "chain_primary": "qwen/qwen3-next-80b-a3b-instruct", "served_model": "qwen/qwen3-next-80b-a3b-instruct", "latency_ms": 7039, "success": true} +{"ts": "2026-05-14T15:56:21Z", "role": "fast_brain", "chain_primary": "qwen/qwen3-next-80b-a3b-instruct", "served_model": "qwen/qwen3-next-80b-a3b-instruct", "latency_ms": 3867, "success": true} +{"ts": "2026-05-14T15:56:53Z", "role": "judge", "chain_primary": "mistralai/mistral-large-3-675b-instruct-2512", "served_model": "openai/gpt-oss-120b", "latency_ms": 31588, "success": true} +{"ts": "2026-05-14T15:57:03Z", "role": "fast_brain", "chain_primary": "qwen/qwen3-next-80b-a3b-instruct", "served_model": "qwen/qwen3-next-80b-a3b-instruct", "latency_ms": 6039, "success": true} +{"ts": "2026-05-14T15:58:30Z", "role": "fast_brain", "chain_primary": "qwen/qwen3-next-80b-a3b-instruct", "served_model": "qwen/qwen3-next-80b-a3b-instruct", "latency_ms": 5397, "success": true} +{"ts": "2026-05-14T15:58:30Z", "role": "fast_brain", "chain_primary": "qwen/qwen3-next-80b-a3b-instruct", "served_model": "qwen/qwen3-next-80b-a3b-instruct", "latency_ms": 14418, "success": true} +{"ts": "2026-05-14T15:58:35Z", "role": "fast_brain", "chain_primary": "qwen/qwen3-next-80b-a3b-instruct", "served_model": "qwen/qwen3-next-80b-a3b-instruct", "latency_ms": 27521, "success": true} +{"ts": "2026-05-14T15:58:35Z", "role": "fast_brain", "chain_primary": "qwen/qwen3-next-80b-a3b-instruct", "served_model": "qwen/qwen3-next-80b-a3b-instruct", "latency_ms": 14672, "success": true} +{"ts": "2026-05-14T15:58:35Z", "role": "fast_brain", "chain_primary": "qwen/qwen3-next-80b-a3b-instruct", "served_model": "qwen/qwen3-next-80b-a3b-instruct", "latency_ms": 23267, "success": true} +{"ts": "2026-05-14T15:58:40Z", "role": "fast_brain", "chain_primary": "qwen/qwen3-next-80b-a3b-instruct", "served_model": "qwen/qwen3-next-80b-a3b-instruct", "latency_ms": 4862, "success": true} +{"ts": "2026-05-14T15:58:40Z", "role": "fast_brain", "chain_primary": "qwen/qwen3-next-80b-a3b-instruct", "served_model": null, "latency_ms": 36706, "success": false} +{"ts": "2026-05-14T15:58:50Z", "role": "fast_brain", "chain_primary": "qwen/qwen3-next-80b-a3b-instruct", "served_model": "qwen/qwen3-next-80b-a3b-instruct", "latency_ms": 9963, "success": true} +{"ts": "2026-05-14T15:58:56Z", "role": "fast_brain", "chain_primary": "qwen/qwen3-next-80b-a3b-instruct", "served_model": "qwen/qwen3-next-80b-a3b-instruct", "latency_ms": 12080, "success": true} +{"ts": "2026-05-14T15:58:57Z", "role": "fast_brain", "chain_primary": "qwen/qwen3-next-80b-a3b-instruct", "served_model": "qwen/qwen3-next-80b-a3b-instruct", "latency_ms": 7960, "success": true} +{"ts": "2026-05-14T15:59:07Z", "role": "judge", "chain_primary": "mistralai/mistral-large-3-675b-instruct-2512", "served_model": "openai/gpt-oss-120b", "latency_ms": 31821, "success": true} +{"ts": "2026-05-14T15:59:07Z", "role": "judge", "chain_primary": "mistralai/mistral-large-3-675b-instruct-2512", "served_model": "openai/gpt-oss-120b", "latency_ms": 32674, "success": true} +{"ts": "2026-05-14T15:59:29Z", "role": "judge", "chain_primary": "mistralai/mistral-large-3-675b-instruct-2512", "served_model": "openai/gpt-oss-120b", "latency_ms": 39114, "success": true} +{"ts": "2026-05-14T15:59:33Z", "role": "judge", "chain_primary": "mistralai/mistral-large-3-675b-instruct-2512", "served_model": "openai/gpt-oss-120b", "latency_ms": 36636, "success": true} +{"ts": "2026-05-14T15:59:33Z", "role": "fast_brain", "chain_primary": "qwen/qwen3-next-80b-a3b-instruct", "served_model": "qwen/qwen3-next-80b-a3b-instruct", "latency_ms": 6379, "success": true} +{"ts": "2026-05-14T15:59:33Z", "role": "judge", "chain_primary": "mistralai/mistral-large-3-675b-instruct-2512", "served_model": "openai/gpt-oss-120b", "latency_ms": 36876, "success": true} +{"ts": "2026-05-14T15:59:33Z", "role": "fast_brain", "chain_primary": "qwen/qwen3-next-80b-a3b-instruct", "served_model": "qwen/qwen3-next-80b-a3b-instruct", "latency_ms": 10677, "success": true} +{"ts": "2026-05-14T15:59:38Z", "role": "fast_brain", "chain_primary": "qwen/qwen3-next-80b-a3b-instruct", "served_model": "qwen/qwen3-next-80b-a3b-instruct", "latency_ms": 5173, "success": true} +{"ts": "2026-05-14T15:59:45Z", "role": "fast_brain", "chain_primary": "qwen/qwen3-next-80b-a3b-instruct", "served_model": "qwen/qwen3-next-80b-a3b-instruct", "latency_ms": 6998, "success": true} +{"ts": "2026-05-14T16:00:05Z", "role": "judge", "chain_primary": "mistralai/mistral-large-3-675b-instruct-2512", "served_model": "openai/gpt-oss-120b", "latency_ms": 31888, "success": true} +{"ts": "2026-05-14T16:00:06Z", "role": "fast_brain", "chain_primary": "qwen/qwen3-next-80b-a3b-instruct", "served_model": "qwen/qwen3-next-80b-a3b-instruct", "latency_ms": 11517, "success": true} +{"ts": "2026-05-14T16:00:08Z", "role": "fast_brain", "chain_primary": "qwen/qwen3-next-80b-a3b-instruct", "served_model": "qwen/qwen3-next-80b-a3b-instruct", "latency_ms": 8264, "success": true} +{"ts": "2026-05-14T16:00:24Z", "role": "judge", "chain_primary": "mistralai/mistral-large-3-675b-instruct-2512", "served_model": "openai/gpt-oss-120b", "latency_ms": 38585, "success": true} +{"ts": "2026-05-14T16:00:25Z", "role": "fast_brain", "chain_primary": "qwen/qwen3-next-80b-a3b-instruct", "served_model": "qwen/qwen3-next-80b-a3b-instruct", "latency_ms": 5445, "success": true} +{"ts": "2026-05-14T16:00:29Z", "role": "fast_brain", "chain_primary": "qwen/qwen3-next-80b-a3b-instruct", "served_model": null, "latency_ms": 38423, "success": false} +{"ts": "2026-05-14T16:00:37Z", "role": "fast_brain", "chain_primary": "qwen/qwen3-next-80b-a3b-instruct", "served_model": "qwen/qwen3-next-80b-a3b-instruct", "latency_ms": 13329, "success": true} +{"ts": "2026-05-14T16:00:42Z", "role": "judge", "chain_primary": "mistralai/mistral-large-3-675b-instruct-2512", "served_model": "meta/llama-4-maverick-17b-128e-instruct", "latency_ms": 5076, "success": true} +{"ts": "2026-05-14T16:00:42Z", "role": "judge", "chain_primary": "mistralai/mistral-large-3-675b-instruct-2512", "served_model": "openai/gpt-oss-120b", "latency_ms": 34690, "success": true} +{"ts": "2026-05-14T16:00:53Z", "role": "fast_brain", "chain_primary": "qwen/qwen3-next-80b-a3b-instruct", "served_model": "nvidia/nemotron-3-nano-30b-a3b", "latency_ms": 23902, "success": true} +{"ts": "2026-05-14T16:00:53Z", "role": "fast_brain", "chain_primary": "qwen/qwen3-next-80b-a3b-instruct", "served_model": "qwen/qwen3-next-80b-a3b-instruct", "latency_ms": 15237, "success": true} +{"ts": "2026-05-14T16:00:53Z", "role": "fast_brain", "chain_primary": "qwen/qwen3-next-80b-a3b-instruct", "served_model": "qwen/qwen3-next-80b-a3b-instruct", "latency_ms": 10166, "success": true} +{"ts": "2026-05-14T16:00:53Z", "role": "judge", "chain_primary": "mistralai/mistral-large-3-675b-instruct-2512", "served_model": "meta/llama-4-maverick-17b-128e-instruct", "latency_ms": 845, "success": true} +{"ts": "2026-05-14T16:00:54Z", "role": "judge", "chain_primary": "mistralai/mistral-large-3-675b-instruct-2512", "served_model": "meta/llama-4-maverick-17b-128e-instruct", "latency_ms": 956, "success": true} +{"ts": "2026-05-14T16:00:54Z", "role": "judge", "chain_primary": "mistralai/mistral-large-3-675b-instruct-2512", "served_model": "meta/llama-4-maverick-17b-128e-instruct", "latency_ms": 1043, "success": true} +{"ts": "2026-05-14T16:01:08Z", "role": "fast_brain", "chain_primary": "qwen/qwen3-next-80b-a3b-instruct", "served_model": "qwen/qwen3-next-80b-a3b-instruct", "latency_ms": 15799, "success": true} +{"ts": "2026-05-14T16:01:14Z", "role": "judge", "chain_primary": "mistralai/mistral-large-3-675b-instruct-2512", "served_model": "openai/gpt-oss-120b", "latency_ms": 49135, "success": true} +{"ts": "2026-05-14T16:01:23Z", "role": "fast_brain", "chain_primary": "qwen/qwen3-next-80b-a3b-instruct", "served_model": "qwen/qwen3-next-80b-a3b-instruct", "latency_ms": 9747, "success": true} +{"ts": "2026-05-14T16:01:24Z", "role": "judge", "chain_primary": "mistralai/mistral-large-3-675b-instruct-2512", "served_model": "meta/llama-4-maverick-17b-128e-instruct", "latency_ms": 1017, "success": true} +{"ts": "2026-05-14T16:01:33Z", "role": "fast_brain", "chain_primary": "qwen/qwen3-next-80b-a3b-instruct", "served_model": "qwen/qwen3-next-80b-a3b-instruct", "latency_ms": 13605, "success": true} +{"ts": "2026-05-14T16:01:33Z", "role": "fast_brain", "chain_primary": "qwen/qwen3-next-80b-a3b-instruct", "served_model": null, "latency_ms": 34443, "success": false} +{"ts": "2026-05-14T16:01:43Z", "role": "fast_brain", "chain_primary": "qwen/qwen3-next-80b-a3b-instruct", "served_model": "qwen/qwen3-next-80b-a3b-instruct", "latency_ms": 10594, "success": true} +{"ts": "2026-05-14T16:01:53Z", "role": "fast_brain", "chain_primary": "qwen/qwen3-next-80b-a3b-instruct", "served_model": "qwen/qwen3-next-80b-a3b-instruct", "latency_ms": 15161, "success": true} +{"ts": "2026-05-14T16:01:54Z", "role": "fast_brain", "chain_primary": "qwen/qwen3-next-80b-a3b-instruct", "served_model": "qwen/qwen3-next-80b-a3b-instruct", "latency_ms": 10494, "success": true} +{"ts": "2026-05-14T16:01:54Z", "role": "judge", "chain_primary": "mistralai/mistral-large-3-675b-instruct-2512", "served_model": "meta/llama-4-maverick-17b-128e-instruct", "latency_ms": 1045, "success": true} +{"ts": "2026-05-14T16:02:16Z", "role": "fast_brain", "chain_primary": "qwen/qwen3-next-80b-a3b-instruct", "served_model": "qwen/qwen3-next-80b-a3b-instruct", "latency_ms": 11625, "success": true} +{"ts": "2026-05-14T16:02:17Z", "role": "judge", "chain_primary": "mistralai/mistral-large-3-675b-instruct-2512", "served_model": "meta/llama-4-maverick-17b-128e-instruct", "latency_ms": 1345, "success": true} +{"ts": "2026-05-14T16:02:24Z", "role": "fast_brain", "chain_primary": "qwen/qwen3-next-80b-a3b-instruct", "served_model": "qwen/qwen3-next-80b-a3b-instruct", "latency_ms": 7545, "success": true} +{"ts": "2026-05-14T16:02:25Z", "role": "judge", "chain_primary": "mistralai/mistral-large-3-675b-instruct-2512", "served_model": "meta/llama-4-maverick-17b-128e-instruct", "latency_ms": 961, "success": true} +{"ts": "2026-05-14T16:02:32Z", "role": "fast_brain", "chain_primary": "qwen/qwen3-next-80b-a3b-instruct", "served_model": "qwen/qwen3-next-80b-a3b-instruct", "latency_ms": 9210, "success": true} +{"ts": "2026-05-14T16:02:33Z", "role": "judge", "chain_primary": "mistralai/mistral-large-3-675b-instruct-2512", "served_model": "meta/llama-4-maverick-17b-128e-instruct", "latency_ms": 972, "success": true} +{"ts": "2026-05-14T16:02:51Z", "role": "fast_brain", "chain_primary": "qwen/qwen3-next-80b-a3b-instruct", "served_model": "qwen/qwen3-next-80b-a3b-instruct", "latency_ms": 10608, "success": true} +{"ts": "2026-05-14T16:02:52Z", "role": "judge", "chain_primary": "mistralai/mistral-large-3-675b-instruct-2512", "served_model": "meta/llama-4-maverick-17b-128e-instruct", "latency_ms": 1165, "success": true} +{"ts": "2026-05-14T16:03:05Z", "role": "fast_brain", "chain_primary": "qwen/qwen3-next-80b-a3b-instruct", "served_model": "qwen/qwen3-next-80b-a3b-instruct", "latency_ms": 15397, "success": true} +{"ts": "2026-05-14T16:03:06Z", "role": "judge", "chain_primary": "mistralai/mistral-large-3-675b-instruct-2512", "served_model": "meta/llama-4-maverick-17b-128e-instruct", "latency_ms": 955, "success": true} +{"ts": "2026-05-14T16:03:38Z", "role": "fast_brain", "chain_primary": "qwen/qwen3-next-80b-a3b-instruct", "served_model": "qwen/qwen3-next-80b-a3b-instruct", "latency_ms": 10987, "success": true} +{"ts": "2026-05-14T16:03:38Z", "role": "judge", "chain_primary": "mistralai/mistral-large-3-675b-instruct-2512", "served_model": "meta/llama-4-maverick-17b-128e-instruct", "latency_ms": 893, "success": true} +{"ts": "2026-05-14T16:04:01Z", "role": "fast_brain", "chain_primary": "qwen/qwen3-next-80b-a3b-instruct", "served_model": "qwen/qwen3-next-80b-a3b-instruct", "latency_ms": 9822, "success": true} +{"ts": "2026-05-14T16:35:23Z", "role": "fast_brain", "chain_primary": "qwen/qwen3-next-80b-a3b-instruct", "served_model": "groq:llama-3.3-70b-versatile", "latency_ms": 1938074, "success": true} +{"ts": "2026-05-14T16:35:33Z", "role": "fast_brain", "chain_primary": "qwen/qwen3-next-80b-a3b-instruct", "served_model": null, "latency_ms": 2013512, "success": false} +{"ts": "2026-05-14T16:35:34Z", "role": "judge", "chain_primary": "mistralai/mistral-large-3-675b-instruct-2512", "served_model": "meta/llama-4-maverick-17b-128e-instruct", "latency_ms": 11729, "success": true} +{"ts": "2026-05-14T16:35:39Z", "role": "fast_brain", "chain_primary": "qwen/qwen3-next-80b-a3b-instruct", "served_model": null, "latency_ms": 1893503, "success": false} +{"ts": "2026-05-14T16:35:59Z", "role": "fast_brain", "chain_primary": "qwen/qwen3-next-80b-a3b-instruct", "served_model": "qwen/qwen3-next-80b-a3b-instruct", "latency_ms": 7438, "success": true} +{"ts": "2026-05-14T16:35:59Z", "role": "fast_brain", "chain_primary": "qwen/qwen3-next-80b-a3b-instruct", "served_model": "qwen/qwen3-next-80b-a3b-instruct", "latency_ms": 3188, "success": true} +{"ts": "2026-05-14T16:36:04Z", "role": "fast_brain", "chain_primary": "qwen/qwen3-next-80b-a3b-instruct", "served_model": "qwen/qwen3-next-80b-a3b-instruct", "latency_ms": 16938, "success": true} +{"ts": "2026-05-14T16:36:07Z", "role": "fast_brain", "chain_primary": "qwen/qwen3-next-80b-a3b-instruct", "served_model": "qwen/qwen3-next-80b-a3b-instruct", "latency_ms": 3297, "success": true} +{"ts": "2026-05-14T16:36:17Z", "role": "judge", "chain_primary": "mistralai/mistral-large-3-675b-instruct-2512", "served_model": "meta/llama-4-maverick-17b-128e-instruct", "latency_ms": 18463, "success": true} +{"ts": "2026-05-14T16:36:18Z", "role": "judge", "chain_primary": "mistralai/mistral-large-3-675b-instruct-2512", "served_model": "meta/llama-4-maverick-17b-128e-instruct", "latency_ms": 14559, "success": true} +{"ts": "2026-05-14T16:36:23Z", "role": "judge", "chain_primary": "mistralai/mistral-large-3-675b-instruct-2512", "served_model": "meta/llama-4-maverick-17b-128e-instruct", "latency_ms": 16155, "success": true} +{"ts": "2026-05-14T16:36:24Z", "role": "fast_brain", "chain_primary": "qwen/qwen3-next-80b-a3b-instruct", "served_model": "qwen/qwen3-next-80b-a3b-instruct", "latency_ms": 835, "success": true} +{"ts": "2026-05-14T16:36:25Z", "role": "judge", "chain_primary": "mistralai/mistral-large-3-675b-instruct-2512", "served_model": "meta/llama-4-maverick-17b-128e-instruct", "latency_ms": 1489, "success": true} +{"ts": "2026-05-14T16:36:40Z", "role": "fast_brain", "chain_primary": "qwen/qwen3-next-80b-a3b-instruct", "served_model": "qwen/qwen3-next-80b-a3b-instruct", "latency_ms": 1213, "success": true} +{"ts": "2026-05-14T16:36:42Z", "role": "fast_brain", "chain_primary": "qwen/qwen3-next-80b-a3b-instruct", "served_model": "qwen/qwen3-next-80b-a3b-instruct", "latency_ms": 11341, "success": true} +{"ts": "2026-05-14T16:36:43Z", "role": "fast_brain", "chain_primary": "qwen/qwen3-next-80b-a3b-instruct", "served_model": "qwen/qwen3-next-80b-a3b-instruct", "latency_ms": 8840, "success": true} +{"ts": "2026-05-14T16:36:48Z", "role": "judge", "chain_primary": "mistralai/mistral-large-3-675b-instruct-2512", "served_model": "meta/llama-4-maverick-17b-128e-instruct", "latency_ms": 8597, "success": true} +{"ts": "2026-05-14T16:36:50Z", "role": "judge", "chain_primary": "mistralai/mistral-large-3-675b-instruct-2512", "served_model": "meta/llama-4-maverick-17b-128e-instruct", "latency_ms": 8160, "success": true} +{"ts": "2026-05-14T16:37:05Z", "role": "fast_brain", "chain_primary": "qwen/qwen3-next-80b-a3b-instruct", "served_model": "qwen/qwen3-next-80b-a3b-instruct", "latency_ms": 4481, "success": true} +{"ts": "2026-05-14T16:37:08Z", "role": "fast_brain", "chain_primary": "qwen/qwen3-next-80b-a3b-instruct", "served_model": "qwen/qwen3-next-80b-a3b-instruct", "latency_ms": 3091, "success": true} +{"ts": "2026-05-14T16:37:13Z", "role": "paraphraser", "chain_primary": "qwen/qwen3-next-80b-a3b-instruct", "served_model": "qwen/qwen3-next-80b-a3b-instruct", "latency_ms": 1738, "success": true} +{"ts": "2026-05-14T16:37:14Z", "role": "judge", "chain_primary": "mistralai/mistral-large-3-675b-instruct-2512", "served_model": "groq:llama-3.3-70b-versatile", "latency_ms": 30414, "success": true} +{"ts": "2026-05-14T16:37:16Z", "role": "paraphraser", "chain_primary": "qwen/qwen3-next-80b-a3b-instruct", "served_model": "qwen/qwen3-next-80b-a3b-instruct", "latency_ms": 2243, "success": true} +{"ts": "2026-05-14T16:37:16Z", "role": "judge", "chain_primary": "mistralai/mistral-large-3-675b-instruct-2512", "served_model": "meta/llama-4-maverick-17b-128e-instruct", "latency_ms": 7750, "success": true} +{"ts": "2026-05-14T16:37:17Z", "role": "paraphraser", "chain_primary": "qwen/qwen3-next-80b-a3b-instruct", "served_model": "qwen/qwen3-next-80b-a3b-instruct", "latency_ms": 1462, "success": true} +{"ts": "2026-05-14T16:37:31Z", "role": "fast_brain", "chain_primary": "qwen/qwen3-next-80b-a3b-instruct", "served_model": "qwen/qwen3-next-80b-a3b-instruct", "latency_ms": 5227, "success": true} +{"ts": "2026-05-14T16:37:38Z", "role": "fast_brain", "chain_primary": "qwen/qwen3-next-80b-a3b-instruct", "served_model": "qwen/qwen3-next-80b-a3b-instruct", "latency_ms": 7711, "success": true} +{"ts": "2026-05-14T16:37:45Z", "role": "fast_brain", "chain_primary": "qwen/qwen3-next-80b-a3b-instruct", "served_model": "qwen/qwen3-next-80b-a3b-instruct", "latency_ms": 6453, "success": true} +{"ts": "2026-05-14T16:37:51Z", "role": "fast_brain", "chain_primary": "qwen/qwen3-next-80b-a3b-instruct", "served_model": "qwen/qwen3-next-80b-a3b-instruct", "latency_ms": 6039, "success": true} +{"ts": "2026-05-14T16:37:52Z", "role": "fast_brain", "chain_primary": "qwen/qwen3-next-80b-a3b-instruct", "served_model": "qwen/qwen3-next-80b-a3b-instruct", "latency_ms": 1249, "success": true} +{"ts": "2026-05-14T16:37:56Z", "role": "judge", "chain_primary": "mistralai/mistral-large-3-675b-instruct-2512", "served_model": "meta/llama-4-maverick-17b-128e-instruct", "latency_ms": 5142, "success": true} +{"ts": "2026-05-14T16:38:03Z", "role": "fast_brain", "chain_primary": "qwen/qwen3-next-80b-a3b-instruct", "served_model": "qwen/qwen3-next-80b-a3b-instruct", "latency_ms": 1051, "success": true} +{"ts": "2026-05-14T16:38:08Z", "role": "judge", "chain_primary": "mistralai/mistral-large-3-675b-instruct-2512", "served_model": "meta/llama-4-maverick-17b-128e-instruct", "latency_ms": 4789, "success": true} +{"ts": "2026-05-14T16:38:21Z", "role": "fast_brain", "chain_primary": "qwen/qwen3-next-80b-a3b-instruct", "served_model": "qwen/qwen3-next-80b-a3b-instruct", "latency_ms": 1376, "success": true} +{"ts": "2026-05-14T16:38:22Z", "role": "judge", "chain_primary": "mistralai/mistral-large-3-675b-instruct-2512", "served_model": "meta/llama-4-maverick-17b-128e-instruct", "latency_ms": 1141, "success": true} +{"ts": "2026-05-14T16:38:23Z", "role": "judge", "chain_primary": "mistralai/mistral-large-3-675b-instruct-2512", "served_model": "groq:llama-3.3-70b-versatile", "latency_ms": 30442, "success": true} +{"ts": "2026-05-14T16:38:30Z", "role": "fast_brain", "chain_primary": "qwen/qwen3-next-80b-a3b-instruct", "served_model": "qwen/qwen3-next-80b-a3b-instruct", "latency_ms": 2013, "success": true} +{"ts": "2026-05-14T16:38:31Z", "role": "judge", "chain_primary": "mistralai/mistral-large-3-675b-instruct-2512", "served_model": "meta/llama-4-maverick-17b-128e-instruct", "latency_ms": 1694, "success": true} +{"ts": "2026-05-14T16:38:50Z", "role": "fast_brain", "chain_primary": "qwen/qwen3-next-80b-a3b-instruct", "served_model": "qwen/qwen3-next-80b-a3b-instruct", "latency_ms": 9523, "success": true} +{"ts": "2026-05-14T16:38:51Z", "role": "fast_brain", "chain_primary": "qwen/qwen3-next-80b-a3b-instruct", "served_model": "qwen/qwen3-next-80b-a3b-instruct", "latency_ms": 1842, "success": true} +{"ts": "2026-05-14T16:38:55Z", "role": "judge", "chain_primary": "mistralai/mistral-large-3-675b-instruct-2512", "served_model": "meta/llama-4-maverick-17b-128e-instruct", "latency_ms": 4020, "success": true} +{"ts": "2026-05-14T16:39:09Z", "role": "fast_brain", "chain_primary": "qwen/qwen3-next-80b-a3b-instruct", "served_model": "qwen/qwen3-next-80b-a3b-instruct", "latency_ms": 1765, "success": true} +{"ts": "2026-05-14T16:39:13Z", "role": "judge", "chain_primary": "mistralai/mistral-large-3-675b-instruct-2512", "served_model": "meta/llama-4-maverick-17b-128e-instruct", "latency_ms": 3903, "success": true} +{"ts": "2026-05-14T16:39:20Z", "role": "judge", "chain_primary": "mistralai/mistral-large-3-675b-instruct-2512", "served_model": "groq:llama-3.3-70b-versatile", "latency_ms": 30498, "success": true} +{"ts": "2026-05-14T16:39:21Z", "role": "fast_brain", "chain_primary": "qwen/qwen3-next-80b-a3b-instruct", "served_model": "qwen/qwen3-next-80b-a3b-instruct", "latency_ms": 1427, "success": true} +{"ts": "2026-05-14T16:39:34Z", "role": "fast_brain", "chain_primary": "qwen/qwen3-next-80b-a3b-instruct", "served_model": "qwen/qwen3-next-80b-a3b-instruct", "latency_ms": 2080, "success": true} +{"ts": "2026-05-14T16:39:41Z", "role": "fast_brain", "chain_primary": "qwen/qwen3-next-80b-a3b-instruct", "served_model": "qwen/qwen3-next-80b-a3b-instruct", "latency_ms": 2086, "success": true} +{"ts": "2026-05-14T16:39:53Z", "role": "fast_brain", "chain_primary": "qwen/qwen3-next-80b-a3b-instruct", "served_model": "qwen/qwen3-next-80b-a3b-instruct", "latency_ms": 4154, "success": true} +{"ts": "2026-05-14T16:39:59Z", "role": "fast_brain", "chain_primary": "qwen/qwen3-next-80b-a3b-instruct", "served_model": "qwen/qwen3-next-80b-a3b-instruct", "latency_ms": 5041, "success": true} +{"ts": "2026-05-14T16:40:08Z", "role": "judge", "chain_primary": "mistralai/mistral-large-3-675b-instruct-2512", "served_model": "meta/llama-4-maverick-17b-128e-instruct", "latency_ms": 9111, "success": true} +{"ts": "2026-05-14T16:40:09Z", "role": "judge", "chain_primary": "mistralai/mistral-large-3-675b-instruct-2512", "served_model": "meta/llama-4-maverick-17b-128e-instruct", "latency_ms": 15785, "success": true} +{"ts": "2026-05-14T16:40:26Z", "role": "fast_brain", "chain_primary": "qwen/qwen3-next-80b-a3b-instruct", "served_model": "qwen/qwen3-next-80b-a3b-instruct", "latency_ms": 833, "success": true} +{"ts": "2026-05-14T16:40:28Z", "role": "fast_brain", "chain_primary": "qwen/qwen3-next-80b-a3b-instruct", "served_model": "qwen/qwen3-next-80b-a3b-instruct", "latency_ms": 12805, "success": true} +{"ts": "2026-05-14T16:40:28Z", "role": "fast_brain", "chain_primary": "qwen/qwen3-next-80b-a3b-instruct", "served_model": "qwen/qwen3-next-80b-a3b-instruct", "latency_ms": 8394, "success": true} +{"ts": "2026-05-14T16:40:30Z", "role": "judge", "chain_primary": "mistralai/mistral-large-3-675b-instruct-2512", "served_model": "meta/llama-4-maverick-17b-128e-instruct", "latency_ms": 1538, "success": true} +{"ts": "2026-05-14T16:40:38Z", "role": "fast_brain", "chain_primary": "qwen/qwen3-next-80b-a3b-instruct", "served_model": "qwen/qwen3-next-80b-a3b-instruct", "latency_ms": 2756, "success": true} +{"ts": "2026-05-14T16:40:40Z", "role": "judge", "chain_primary": "mistralai/mistral-large-3-675b-instruct-2512", "served_model": "meta/llama-4-maverick-17b-128e-instruct", "latency_ms": 2067, "success": true} +{"ts": "2026-05-14T16:40:55Z", "role": "fast_brain", "chain_primary": "qwen/qwen3-next-80b-a3b-instruct", "served_model": "qwen/qwen3-next-80b-a3b-instruct", "latency_ms": 2892, "success": true} +{"ts": "2026-05-14T16:42:34Z", "role": "fast_brain", "chain_primary": "qwen/qwen3-next-80b-a3b-instruct", "served_model": "qwen/qwen3-next-80b-a3b-instruct", "latency_ms": 1945, "success": true} +{"ts": "2026-05-14T16:42:42Z", "role": "fast_brain", "chain_primary": "qwen/qwen3-next-80b-a3b-instruct", "served_model": "qwen/qwen3-next-80b-a3b-instruct", "latency_ms": 1722, "success": true} +{"ts": "2026-05-14T16:42:48Z", "role": "fast_brain", "chain_primary": "qwen/qwen3-next-80b-a3b-instruct", "served_model": "qwen/qwen3-next-80b-a3b-instruct", "latency_ms": 1377, "success": true} +{"ts": "2026-05-14T16:42:56Z", "role": "fast_brain", "chain_primary": "qwen/qwen3-next-80b-a3b-instruct", "served_model": "qwen/qwen3-next-80b-a3b-instruct", "latency_ms": 2872, "success": true} +{"ts": "2026-05-14T16:42:57Z", "role": "judge", "chain_primary": "mistralai/mistral-large-3-675b-instruct-2512", "served_model": "meta/llama-4-maverick-17b-128e-instruct", "latency_ms": 1810, "success": true} +{"ts": "2026-05-14T16:43:08Z", "role": "fast_brain", "chain_primary": "qwen/qwen3-next-80b-a3b-instruct", "served_model": "qwen/qwen3-next-80b-a3b-instruct", "latency_ms": 3301, "success": true} +{"ts": "2026-05-14T16:43:12Z", "role": "judge", "chain_primary": "mistralai/mistral-large-3-675b-instruct-2512", "served_model": "meta/llama-4-maverick-17b-128e-instruct", "latency_ms": 4189, "success": true} +{"ts": "2026-05-14T16:43:21Z", "role": "fast_brain", "chain_primary": "qwen/qwen3-next-80b-a3b-instruct", "served_model": "qwen/qwen3-next-80b-a3b-instruct", "latency_ms": 3649, "success": true} +{"ts": "2026-05-14T16:43:23Z", "role": "judge", "chain_primary": "mistralai/mistral-large-3-675b-instruct-2512", "served_model": "meta/llama-4-maverick-17b-128e-instruct", "latency_ms": 1736, "success": true} +{"ts": "2026-05-14T16:43:34Z", "role": "fast_brain", "chain_primary": "qwen/qwen3-next-80b-a3b-instruct", "served_model": "qwen/qwen3-next-80b-a3b-instruct", "latency_ms": 1609, "success": true} +{"ts": "2026-05-14T16:43:35Z", "role": "judge", "chain_primary": "mistralai/mistral-large-3-675b-instruct-2512", "served_model": "meta/llama-4-maverick-17b-128e-instruct", "latency_ms": 1391, "success": true} +{"ts": "2026-05-14T16:43:44Z", "role": "judge", "chain_primary": "mistralai/mistral-large-3-675b-instruct-2512", "served_model": "groq:llama-3.3-70b-versatile", "latency_ms": 196617, "success": true} +{"ts": "2026-05-14T16:43:59Z", "role": "fast_brain", "chain_primary": "qwen/qwen3-next-80b-a3b-instruct", "served_model": "qwen/qwen3-next-80b-a3b-instruct", "latency_ms": 1338, "success": true} +{"ts": "2026-05-14T16:44:00Z", "role": "fast_brain", "chain_primary": "qwen/qwen3-next-80b-a3b-instruct", "served_model": "qwen/qwen3-next-80b-a3b-instruct", "latency_ms": 6598, "success": true} +{"ts": "2026-05-14T16:44:03Z", "role": "judge", "chain_primary": "mistralai/mistral-large-3-675b-instruct-2512", "served_model": "meta/llama-4-maverick-17b-128e-instruct", "latency_ms": 3557, "success": true} +{"ts": "2026-05-14T16:44:04Z", "role": "judge", "chain_primary": "mistralai/mistral-large-3-675b-instruct-2512", "served_model": "meta/llama-4-maverick-17b-128e-instruct", "latency_ms": 3372, "success": true} +{"ts": "2026-05-14T16:44:17Z", "role": "fast_brain", "chain_primary": "qwen/qwen3-next-80b-a3b-instruct", "served_model": "qwen/qwen3-next-80b-a3b-instruct", "latency_ms": 7823, "success": true} +{"ts": "2026-05-14T16:44:18Z", "role": "judge", "chain_primary": "mistralai/mistral-large-3-675b-instruct-2512", "served_model": "meta/llama-4-maverick-17b-128e-instruct", "latency_ms": 1158, "success": true} +{"ts": "2026-05-14T16:44:19Z", "role": "fast_brain", "chain_primary": "qwen/qwen3-next-80b-a3b-instruct", "served_model": "qwen/qwen3-next-80b-a3b-instruct", "latency_ms": 2147, "success": true} +{"ts": "2026-05-14T16:44:26Z", "role": "judge", "chain_primary": "mistralai/mistral-large-3-675b-instruct-2512", "served_model": "meta/llama-4-maverick-17b-128e-instruct", "latency_ms": 7266, "success": true} +{"ts": "2026-05-14T16:44:31Z", "role": "fast_brain", "chain_primary": "qwen/qwen3-next-80b-a3b-instruct", "served_model": "qwen/qwen3-next-80b-a3b-instruct", "latency_ms": 4580, "success": true} +{"ts": "2026-05-14T16:44:32Z", "role": "fast_brain", "chain_primary": "qwen/qwen3-next-80b-a3b-instruct", "served_model": "qwen/qwen3-next-80b-a3b-instruct", "latency_ms": 1574, "success": true} +{"ts": "2026-05-14T16:44:40Z", "role": "fast_brain", "chain_primary": "qwen/qwen3-next-80b-a3b-instruct", "served_model": "qwen/qwen3-next-80b-a3b-instruct", "latency_ms": 1840, "success": true} +{"ts": "2026-05-14T16:44:54Z", "role": "fast_brain", "chain_primary": "qwen/qwen3-next-80b-a3b-instruct", "served_model": "qwen/qwen3-next-80b-a3b-instruct", "latency_ms": 8136, "success": true} +{"ts": "2026-05-14T16:44:55Z", "role": "fast_brain", "chain_primary": "qwen/qwen3-next-80b-a3b-instruct", "served_model": "qwen/qwen3-next-80b-a3b-instruct", "latency_ms": 4891, "success": true} +{"ts": "2026-05-14T16:44:56Z", "role": "judge", "chain_primary": "mistralai/mistral-large-3-675b-instruct-2512", "served_model": "meta/llama-4-maverick-17b-128e-instruct", "latency_ms": 1425, "success": true} +{"ts": "2026-05-14T16:44:56Z", "role": "judge", "chain_primary": "mistralai/mistral-large-3-675b-instruct-2512", "served_model": "meta/llama-4-maverick-17b-128e-instruct", "latency_ms": 1099, "success": true} +{"ts": "2026-05-14T16:45:10Z", "role": "fast_brain", "chain_primary": "qwen/qwen3-next-80b-a3b-instruct", "served_model": "qwen/qwen3-next-80b-a3b-instruct", "latency_ms": 4289, "success": true} +{"ts": "2026-05-14T16:45:11Z", "role": "judge", "chain_primary": "mistralai/mistral-large-3-675b-instruct-2512", "served_model": "meta/llama-4-maverick-17b-128e-instruct", "latency_ms": 1104, "success": true} +{"ts": "2026-05-14T16:45:12Z", "role": "fast_brain", "chain_primary": "qwen/qwen3-next-80b-a3b-instruct", "served_model": "qwen/qwen3-next-80b-a3b-instruct", "latency_ms": 1781, "success": true} +{"ts": "2026-05-14T16:45:13Z", "role": "judge", "chain_primary": "mistralai/mistral-large-3-675b-instruct-2512", "served_model": "meta/llama-4-maverick-17b-128e-instruct", "latency_ms": 1267, "success": true} +{"ts": "2026-05-14T16:45:29Z", "role": "fast_brain", "chain_primary": "qwen/qwen3-next-80b-a3b-instruct", "served_model": "qwen/qwen3-next-80b-a3b-instruct", "latency_ms": 6332, "success": true} +{"ts": "2026-05-14T16:45:31Z", "role": "judge", "chain_primary": "mistralai/mistral-large-3-675b-instruct-2512", "served_model": "meta/llama-4-maverick-17b-128e-instruct", "latency_ms": 1913, "success": true} +{"ts": "2026-05-14T16:45:35Z", "role": "fast_brain", "chain_primary": "qwen/qwen3-next-80b-a3b-instruct", "served_model": "qwen/qwen3-next-80b-a3b-instruct", "latency_ms": 8083, "success": true} +{"ts": "2026-05-14T16:45:40Z", "role": "judge", "chain_primary": "mistralai/mistral-large-3-675b-instruct-2512", "served_model": "meta/llama-4-maverick-17b-128e-instruct", "latency_ms": 5046, "success": true} +{"ts": "2026-05-14T16:45:43Z", "role": "fast_brain", "chain_primary": "qwen/qwen3-next-80b-a3b-instruct", "served_model": "qwen/qwen3-next-80b-a3b-instruct", "latency_ms": 2982, "success": true} +{"ts": "2026-05-14T16:45:54Z", "role": "fast_brain", "chain_primary": "qwen/qwen3-next-80b-a3b-instruct", "served_model": "qwen/qwen3-next-80b-a3b-instruct", "latency_ms": 1299, "success": true} +{"ts": "2026-05-14T16:46:02Z", "role": "fast_brain", "chain_primary": "qwen/qwen3-next-80b-a3b-instruct", "served_model": "qwen/qwen3-next-80b-a3b-instruct", "latency_ms": 1862, "success": true} +{"ts": "2026-05-14T16:53:09Z", "role": "judge", "chain_primary": "mistralai/mistral-large-3-675b-instruct-2512", "served_model": "groq:llama-3.3-70b-versatile", "latency_ms": 733760, "success": true} +{"ts": "2026-05-14T17:55:43Z", "role": "profile_extractor", "chain_primary": "nvidia/nemotron-3-nano-30b-a3b", "served_model": "qwen/qwen3-next-80b-a3b-instruct", "latency_ms": 633, "success": true} +{"ts": "2026-05-14T17:55:53Z", "role": "profile_extractor", "chain_primary": "nvidia/nemotron-3-nano-30b-a3b", "served_model": "qwen/qwen3-next-80b-a3b-instruct", "latency_ms": 10822, "success": true} +{"ts": "2026-05-14T17:55:58Z", "role": "profile_extractor", "chain_primary": "nvidia/nemotron-3-nano-30b-a3b", "served_model": "qwen/qwen3-next-80b-a3b-instruct", "latency_ms": 15728, "success": true} +{"ts": "2026-05-14T17:56:03Z", "role": "profile_extractor", "chain_primary": "nvidia/nemotron-3-nano-30b-a3b", "served_model": "qwen/qwen3-next-80b-a3b-instruct", "latency_ms": 20393, "success": true} +{"ts": "2026-05-14T17:56:10Z", "role": "fast_brain", "chain_primary": "groq:llama-3.3-70b-versatile", "served_model": "qwen/qwen3-next-80b-a3b-instruct", "latency_ms": 16139, "success": true} +{"ts": "2026-05-14T17:56:11Z", "role": "judge", "chain_primary": "mistralai/mistral-large-3-675b-instruct-2512", "served_model": "meta/llama-4-maverick-17b-128e-instruct", "latency_ms": 1387, "success": true} +{"ts": "2026-05-14T17:56:11Z", "role": "profile_extractor", "chain_primary": "nvidia/nemotron-3-nano-30b-a3b", "served_model": "qwen/qwen3-next-80b-a3b-instruct", "latency_ms": 368, "success": true} diff --git a/40-data/premiums/illustrative_premiums.json b/40-data/premiums/illustrative_premiums.json index 50dd8be0c4e0c80eb4b3ad3950643cc94d47285f..827d01719cfdf4fcea941fdba8e655085bca6bfd 100644 --- a/40-data/premiums/illustrative_premiums.json +++ b/40-data/premiums/illustrative_premiums.json @@ -16,7 +16,7 @@ "https://joinditto.in/articles/health-insurance/niva-bupa-reassure-2-0-premium-chart/", "https://joinditto.in/articles/health-insurance/care-supreme-health-insurance-premium-chart/", "https://joinditto.in/articles/health-insurance/tata-aig-health-insurance-premium-rate-chart/", - "https://www.axisbank.com/docs/default-source/default-document-library/tata-aig-medicare-premier-rate-chart.pdf", + "https://www.axisbank.com/70-docs/default-source/default-document-library/tata-aig-medicare-premier-rate-chart.pdf", "https://transactions.nivabupa.com/pages/doc/premium_chart/Health%20Premia%20-%20Rate%20Card.pdf", "https://www.scribd.com/document/667873826/Annexure-2-Premium-Chart-Family-Health-Optima-Insurance-Plan-Revised", "https://www.scribd.com/document/682628786/ReAssure-2-0-Rate-Card-with-Tax", @@ -762,7 +762,7 @@ "smoker": false, "family_size": 1, "annual_premium_inr": 7100, - "source_url": "https://www.axisbank.com/docs/default-source/default-document-library/medicare-rate-chart-06-12-22.pdf", + "source_url": "https://www.axisbank.com/70-docs/default-source/default-document-library/medicare-rate-chart-06-12-22.pdf", "source_note": "Tata AIG MediCare base variant rate chart - 19-35 / 5L = Rs 7,108 ex-tax" }, { @@ -772,7 +772,7 @@ "smoker": false, "family_size": 1, "annual_premium_inr": 8800, - "source_url": "https://www.axisbank.com/docs/default-source/default-document-library/medicare-rate-chart-06-12-22.pdf" + "source_url": "https://www.axisbank.com/70-docs/default-source/default-document-library/medicare-rate-chart-06-12-22.pdf" }, { "age": 40, @@ -796,7 +796,7 @@ "smoker": false, "family_size": 1, "annual_premium_inr": 8362, - "source_url": "https://www.axisbank.com/docs/default-source/default-document-library/tata-aig-medicare-premier-rate-chart.pdf", + "source_url": "https://www.axisbank.com/70-docs/default-source/default-document-library/tata-aig-medicare-premier-rate-chart.pdf", "source_note": "Official Tata AIG MediCare Premier rate chart: 19-35 age band, 5L SI = Rs 8,362 ex-tax" }, { @@ -806,7 +806,7 @@ "smoker": false, "family_size": 1, "annual_premium_inr": 10319, - "source_url": "https://www.axisbank.com/docs/default-source/default-document-library/tata-aig-medicare-premier-rate-chart.pdf", + "source_url": "https://www.axisbank.com/70-docs/default-source/default-document-library/tata-aig-medicare-premier-rate-chart.pdf", "source_note": "Official rate chart: 19-35 / 10L = Rs 10,319 ex-tax" }, { @@ -816,7 +816,7 @@ "smoker": false, "family_size": 1, "annual_premium_inr": 9868, - "source_url": "https://www.axisbank.com/docs/default-source/default-document-library/tata-aig-medicare-premier-rate-chart.pdf", + "source_url": "https://www.axisbank.com/70-docs/default-source/default-document-library/tata-aig-medicare-premier-rate-chart.pdf", "source_note": "Official rate chart: 36-45 / 5L = Rs 9,868 ex-tax" }, { @@ -826,7 +826,7 @@ "smoker": false, "family_size": 1, "annual_premium_inr": 12266, - "source_url": "https://www.axisbank.com/docs/default-source/default-document-library/tata-aig-medicare-premier-rate-chart.pdf", + "source_url": "https://www.axisbank.com/70-docs/default-source/default-document-library/tata-aig-medicare-premier-rate-chart.pdf", "source_note": "Official rate chart: 36-45 / 10L = Rs 12,266 ex-tax" }, { diff --git a/40-data/profiles/README.md b/40-data/profiles/README.md index f9d5521979621ef29581e6af0734b675b4829260..f7a359af61b9ebbce741a9cc03a098449bed443d 100644 --- a/40-data/profiles/README.md +++ b/40-data/profiles/README.md @@ -49,19 +49,19 @@ The original design considered embedding-only. The "why JSON" trade-offs: - **Deterministic name lookup.** `Rohit` → `rohit.json` is exact; vector search is approximate and can collide on common first names. - **Human-readable.** A BFSI auditor can `cat` the file and see the full profile. - **Manually editable.** Quick repair without a re-embed pipeline. -- **No HNSW bloat exposure.** Profile updates do not touch the policy vector store ([ADR-029](../docs/60-decisions/ADR-029-disk-storage-hardening.md)). +- **No HNSW bloat exposure.** Profile updates do not touch the policy vector store ([ADR-029](../70-docs/60-decisions/ADR-029-disk-storage-hardening.md)). The Chroma chunk is purely a retrieval-time view of the canonical JSON. ## Privacy + retention - Profiles are local to the deployed instance. No third-party share. -- Per [ADR-010](../docs/60-decisions/ADR-010-secret-handling.md), the folder is not exposed via the HTTP API except through the user's own `session_id`. +- Per [ADR-010](../70-docs/60-decisions/ADR-010-secret-handling.md), the folder is not exposed via the HTTP API except through the user's own `session_id`. - The folder is committed empty (placeholder) — actual profiles are runtime artefacts. ## Related - `backend/profile_store.py` — the canonical store implementation -- `backend/profile_extractor.py` + [ADR-022](../docs/60-decisions/ADR-022-conversational-profile-updates.md) — how conversational asides flow into the profile +- `backend/profile_extractor.py` + [ADR-022](../70-docs/60-decisions/ADR-022-conversational-profile-updates.md) — how conversational asides flow into the profile - `backend/profile_rag.py` — the embedding mirror - `backend/needs_finder.py::GRAPH` — the 9-slot schema the `profile` block conforms to diff --git a/40-data/reviews/icici-lombard.json b/40-data/reviews/icici-lombard.json index 1c122fcef8e6a3eeadb6fd6ec13f06df71278ef1..d6a8f9f8779959eac029496c572d8c8cdaa29afd 100644 --- a/40-data/reviews/icici-lombard.json +++ b/40-data/reviews/icici-lombard.json @@ -171,7 +171,7 @@ "https://www.business-standard.com/companies/quarterly-results/icici-lombard-net-profit-up-29-in-q1fy26-125071501318_1.html", "https://www.business-standard.com/finance/insurance/icici-lombard-care-health-aditya-birla-cut-commissions-post-gst-125100101265_1.html", "https://www.icicilombard.com/investor-relations", - "https://www.icicilombard.com/docs/default-source/financial-information/annualreport2024.pdf" + "https://www.icicilombard.com/70-docs/default-source/financial-information/annualreport2024.pdf" ] } } \ No newline at end of file diff --git a/80-audit/ENTERPRISE_AUDIT.md b/80-audit/ENTERPRISE_AUDIT.md index ea3b83c295bf964df836178df8ff4bf5654e2638..39ef7316403854ff2f867a89b03989413753ccf7 100644 --- a/80-audit/ENTERPRISE_AUDIT.md +++ b/80-audit/ENTERPRISE_AUDIT.md @@ -229,6 +229,19 @@ The full eval was sending **every** QA question to `needs_finder`. Sample bot an | KI-032 | `6f495c1` | LLM paraphraser for fact-find questions with verifier + cache (ADR-027) | | KI-033 | `9a977de` | `fact_find_normalizer` + `profile_extractor` migrated from hardcoded single-model to `NimChainLLM(FAST_BRAIN_CHAIN)` | | KI-034/5 | `844ed03` | LRU retrieval cache + `FAST_BRAIN_CHAIN` reordered (Nemotron Nano 30B primary) | +| KI-036/7/8 | `36ef017` | Greeting flow, strict paraphrase verifier, waiting dots — tightens the first-impression UX surface | +| KI-039 | `a774b91` | Single Clear-chat button (full reset) — removes ambiguity between "reset" vs "new session" | +| KI-040 | `4449d44` | Named profiles + Clear-chat that preserves profile — lets users iterate without re-doing fact-find | +| KI-041/2 | `748ce54` | VAD sensitivity tuning + Live OFF by default + dots on first turn — fixes accidental barge-in on quiet rooms | +| KI-044 | `86fcc31` | PCM pre-roll via AudioWorklet + 11 folder READMEs — eliminates first-syllable clipping on TTS playback | +| KI-045 | `930e11e` | Natural-conversation classifier in fact-find: intent_change / off-topic-question escapes fact-find branch into QA. Prevents the bot from droning past a user's pivot. | +| KI-046 | `28b6114` | Explicit refusal on adversarial/fanciful out-of-corpus questions (space tourism, diamond-tipped surgery). Closes the "absence of exclusion ≠ inclusion" reasoning leak. | +| KI-047 | `e2d09f9` | Bucket reorg (`docs/` → `70-docs/`, `audit_results/` → `80-audit/`) — Option A safe subset, keeps code dirs untouched | +| KI-048 | `13a1cf4` | Admin backend: `GET /api/admin/profiles` + `GET /api/admin/performance`, both behind `_check_admin` (IP allowlist + password, 404 on auth fail) | +| KI-049 | `c8bf1a1` | Retrieval top-k 5 → 10 for table-cell questions (room rent / sub-limit / cap / NCB / etc.). Boosts the chance the policy's structured cap-table chunk lands in context — directly targets the `sub_limit` accuracy gap from D-003. | +| KI-050 | `52c6351` | Complete `data/` → `40-data/` rename across all Python string-path refs. Finishes KI-047 for runtime code. | +| KI-051 | `2eae364` | Dockerfile `COPY` paths updated (`data → 40-data`, `docs → 70-docs`). Without this the HF Space rebuild fails on the renamed source dirs. | +| KI-052 | `c53d167` | Admin panel HTML: 3 lazy-loaded tabs (Profile + Visitor Log, Performance, LLM Chain). Performance pulls KI-048's new endpoint; auth state preserved across tab switches. | | D-001 | (multi) | ChromaDB HNSW bloat 3-layer prevention (ADR-029) | | D-002 | (LaunchAgent edit) | Three silently-failing LaunchAgent scripts fixed | | D-009 | `bcb7079` | Removed `tmp_*.py` debug files from repo root | @@ -238,11 +251,12 @@ The full eval was sending **every** QA question to `needs_finder`. Sample bot an - `tests/test_routing_regression.py` — 15 unit tests, all passing. Pins KI-018 / KI-023 / KI-025 invariants. - 5-Q post-fix smoke (no judge): factual 0% → 60%, nim-chain serving 100% of QA. - Live HF Space smoke (`https://rohitsar567-insurancebot.hf.space`): PED waiting-period question now answers via `nim-chain::nemotron-3-nano-30b-a3b::v4-flash::qa` with a grounded reply, not the old "Happy to help. First, your age?" misroute. -- **Post-fix parallel 96-Q gold eval (93 of 96 completed; 3 trailing questions killed when the run hung on a NIM rate-limit edge case):** - - **Factual accuracy: 54.8% (51 / 93)** — up from the pre-fix 41.7% baseline. +- **Post-fix parallel 96-Q gold eval (93 of 96 completed; 3 trailing questions killed when the run hung on a NIM rate-limit edge case) — captured BEFORE KI-046 (refusal precision) and KI-049 (retrieval top-k boost) shipped:** + - **Factual accuracy: 54.8% (51 / 93)** — up from the pre-fix 41.7% baseline. **This number is now stale; a fresh eval is running to measure the KI-046 + KI-049 lift and the headline will be updated once it lands.** - **KI-022 JSON-fallback** rescued 7 questions that would have scored 0 on Groq judge JSON errors. Without KI-022 the headline would have been ~47%. - PED waiting-period type — previously 0% pre-fix; samples now: "Bot correctly states the 24‑month waiting period" / "matched_nums=['24']" via regex fallback / "36‑month period and includes source cit…". - Stuck questions: rows 94-96 (all `regulatory_oos` refusals — those routes are already at ~100% earlier in the run; the rate-limit hang affected the brain call, not the refusal logic). + - **Expected directional lift from the two pending fixes:** KI-049 directly targets the `sub_limit` accuracy gap called out under D-003 (structured cap-table chunks now have ~2× chance of landing in context); KI-046 directly targets the `exclusions_oos` refusal-logic gap. Both gaps were the explicit "next bottleneck" in the 54.8% post-mortem. - Clean 100-persona audit pending — to run once Batch B (bucket reorg) ships and the HF Space is stable. ## Pending follow-ups (P1) diff --git a/CLAUDE.md b/CLAUDE.md index d7f2765d04ef4cc85647d2c1724b85b01bcb3db8..5580703567ca07f5c3a1bf9bd65e37ba5b1cf47e 100644 --- a/CLAUDE.md +++ b/CLAUDE.md @@ -36,6 +36,12 @@ Every LLM role is a `NimChainLLM` fallback chain, NOT a hardcoded single model. - Paraphrases cached per `(session_id, slot_id)` → max 9 paraphrase calls per session. - Re-asks (`"Sorry, I didn't catch that..."`) skip paraphrase so the user has a stable anchor. - Indic queries use canonical Hindi text (paraphraser is English-only). +- **Natural-conversation escape (KI-045):** mid-fact-find, if the user message is intent_change (`"never mind"`, `"actually let me ask"`, `"stop asking"`, etc.) OR off-topic question (ends with `?`, ≥4 words, no slot keywords), `orchestrator.py` exits the fact-find branch, sets `session.free_form_session=True`, and lets the QA path handle it. Prevents the bot from droning past a user's pivot. + +## Refusal precision (KI-046) + +- Persona prompt now explicitly instructs the bot to refuse on **fanciful / out-of-scope scenarios** (space tourism, diamond-tipped surgery, fictional procedures) with a specific refusal sentence. +- Anti-pattern guarded against: "policy doesn't explicitly exclude it → maybe it's covered". This is wrong; absence-of-exclusion is not evidence-of-inclusion. ## Routing invariants (ADR-N/A — orchestrator.py) @@ -50,6 +56,23 @@ These are pinned by `tests/test_routing_regression.py`: `rag/retrieve.py` has an in-process LRU cache keyed by `(query_normalized, top_k, sorted policy_ids, sorted insurer_slugs)`. Cap 256. Cache hit skips both Voyage embed + Chroma query. Invalidates on process restart. +**Top-k boost for table-cell questions (KI-049):** room rent / sub-limit / cap on / single-private / NCB / co-pay / day-care-limit / etc. triggers bump `top_k` from 5 → 10 for that one query, so the policy's structured cap-table chunk has a higher chance of landing in context. Confined to the trigger query only — does not pollute the cache for downstream non-table queries. + +## Repo bucket layout (KI-047 / KI-050 / KI-051) + +Numbered top-level buckets for non-code artifacts (sort lexicographically in `ls`): + +- `40-data/` ← formerly `data/` — runtime/cached data. All Python string-path refs updated (KI-050). Dockerfile `COPY` paths updated (KI-051). +- `70-docs/` ← formerly `docs/` — ADRs, design notes, decisions. +- `80-audit/` ← formerly `audit_results/` — defect register + eval artifacts (this audit lives here). + +**Code dirs (`backend/`, `frontend/`, `rag/`, `tools/`, `eval/`, `tests/`, `kb/`) kept as-is** — Python forbids leading-digit / hyphen package names, so renaming code dirs would break imports. + +## Admin panel (KI-048 / KI-052) + +- **Backend:** `GET /api/admin/profiles` + `GET /api/admin/performance`, both behind `_check_admin` (IP allowlist + `X-Admin-Password` header). Auth failure returns 404 (not 401) so unauthenticated probes can't enumerate endpoints. +- **Frontend:** admin HTML has 3 lazy-loaded tabs — **Profile + Visitor Log** (pulls `/api/admin/profiles`), **Performance** (pulls `/api/admin/performance`), **LLM Chain** (unchanged from prior). Auth state preserved across tab switches. + ## Disk + storage hardening (ADR-029) Three independent safety layers against ChromaDB HNSW bloat: @@ -68,6 +91,10 @@ Three independent safety layers against ChromaDB HNSW bloat: - **Data lineage:** `kb/AUDIT_TRAIL.md`. - **Tests:** `tests/test_routing_regression.py` (15 tests pinning routing + load-balance invariants). +## Working-style note (personal memory, not a project decision) + +**Always parallelize independent work** (per `feedback_always_parallelize.md` in personal memory). On any task touching this project: dispatch agents in parallel when subtasks are independent, batch tool calls in a single message when there are no dependencies. Sequential-by-default wastes wall-clock time. + ## Watch-outs - **Never use detached `new Audio()`** — see "Voice UX" above. diff --git a/README.md b/README.md index b710019ab2909e2ad60ebdf392d02891ec484fd9..ddcce26bdcec50d4986152dea7ae5d0be35bb39a 100644 --- a/README.md +++ b/README.md @@ -609,9 +609,9 @@ rag/ingest.py → rag/vectors/chroma.sqlite3 (text chunks + embedd │ + HNSW binary files in vectors/ (800-token chunks, 120 overlap) │ ▼ -data/policy_facts/.json (hand-curated facts for marketplace UI) -data/premiums/illustrative_premiums.json (anchor table for premium calculator) -data/reviews/.json (IRDAI complaints/10K + sentiment roll-ups) +40-data/policy_facts/.json (hand-curated facts for marketplace UI) +40-data/premiums/illustrative_premiums.json (anchor table for premium calculator) +40-data/reviews/.json (IRDAI complaints/10K + sentiment roll-ups) │ ▼ kb/policies/.md (markdown writeup; regen via rag/build_kb.py) @@ -623,7 +623,7 @@ Full per-stage detail: [`70-docs/20-data-pipeline/ingestion-policy.md`](70-docs/ | Storage | What lives there | Quota | |---|---|---| -| HF Space repo (origin) | Code only (`backend/`, `frontend/`, `rag/*.py`, `eval/`, `kb/`, `data/`, configs) | 1 GB free tier | +| HF Space repo (origin) | Code only (`backend/`, `frontend/`, `rag/*.py`, `eval/`, `kb/`, `40-data/`, configs) | 1 GB free tier | | HF Dataset | Heavy data: `rag/corpus/`, `rag/vectors/`, `rag/extracted/` | 50 GB free tier (we use ~500 MB) | | GitHub code repo | Mirror of HF Space | Standard GitHub | | GitHub data repo (LFS) | Mirror of HF Dataset | 1 GB LFS + 1 GB/mo bandwidth | diff --git a/backend/orchestrator.py b/backend/orchestrator.py index 430e4ebfdad8cd4b83e6985f31367d8c96956aa9..31f53820efa5854b8e773a34ad4033351f68b5c5 100644 --- a/backend/orchestrator.py +++ b/backend/orchestrator.py @@ -607,10 +607,22 @@ async def handle_turn( # "we had a baby", "I was diagnosed with diabetes"). Run a lightweight LLM # extractor, apply high-confidence updates to session.profile, and re-upsert # the profile chunk so THIS turn's retrieval reflects the new state. + # + # KI-053 (2026-05-14) — eval-mode skip. `eval/run.py --no-extract` sets the + # INSURANCE_BOT_SKIP_PROFILE_EXTRACTOR env var. Gold-eval questions have + # empty user_profile + ephemeral sessions so this LLM call wastes a NIM + # request per question without contributing to grading. Skipping it cuts + # ~25% off eval wall time at zero quality cost. Production runs (env unset) + # behaviour is identical to before. profile_updates_applied: dict = {} + import os as _os_pe + _skip_extract = _os_pe.environ.get("INSURANCE_BOT_SKIP_PROFILE_EXTRACTOR") == "1" try: - from backend.profile_extractor import extract_profile_updates - extracted = await extract_profile_updates(user_text, session.profile) + if _skip_extract: + extracted = None # eval mode — bypass LLM extractor entirely + else: + from backend.profile_extractor import extract_profile_updates + extracted = await extract_profile_updates(user_text, session.profile) if extracted: for field_name, new_value in extracted.items(): if field_name == "health_conditions": diff --git a/eval/gold_qa.json b/eval/gold_qa.json index 199cf1da5492ee98964e72fef94d8be765c7aec4..96e3a934ca627bf27b924a1e1b189e3621745f54 100644 --- a/eval/gold_qa.json +++ b/eval/gold_qa.json @@ -1120,5 +1120,159 @@ "expected_refusal": true, "language": "en", "generated_by": "pipeline_c_refusal" + }, + { + "id": "tax_planning::section_80d_self_below_60::REFUSE::tax_planning::medium", + "policy_id": null, + "question": "What is the Section 80D tax deduction limit for a self/family health insurance premium if I am under 60?", + "expected_answer": "Bot should refuse or say it cannot advise on Income Tax Act provisions \u2014 the policy corpus does not include Section 80D limits.", + "question_type": "tax_planning", + "difficulty": "medium", + "expected_refusal": true, + "language": "en", + "generated_by": "pipeline_d_tax" + }, + { + "id": "tax_planning::section_80d_senior_parents::REFUSE::tax_planning::medium", + "policy_id": null, + "question": "If I pay the premium for my parents who are 65 and 68, how much can I claim as a deduction under Section 80D?", + "expected_answer": "Bot should refuse or say it cannot advise on Income Tax Act deductions \u2014 80D senior-citizen limits are not stated in any policy document in the corpus.", + "question_type": "tax_planning", + "difficulty": "hard", + "expected_refusal": true, + "language": "en", + "generated_by": "pipeline_d_tax" + }, + { + "id": "tax_planning::section_80ddb_critical_illness::REFUSE::tax_planning::hard", + "policy_id": null, + "question": "Can I claim a deduction under Section 80DDB for cancer treatment expenses?", + "expected_answer": "Bot should refuse \u2014 Section 80DDB rules are part of the Income Tax Act and are not covered in the policy corpus.", + "question_type": "tax_planning", + "difficulty": "hard", + "expected_refusal": true, + "language": "en", + "generated_by": "pipeline_d_tax" + }, + { + "id": "tax_planning::section_80u_disability::REFUSE::tax_planning::hard", + "policy_id": null, + "question": "I have a 40% disability certificate \u2014 what is my Section 80U deduction?", + "expected_answer": "Bot should refuse \u2014 Section 80U personal-disability deductions are an Income Tax Act provision, not a health-policy detail; the corpus does not contain ITA limits.", + "question_type": "tax_planning", + "difficulty": "hard", + "expected_refusal": true, + "language": "en", + "generated_by": "pipeline_d_tax" + }, + { + "id": "tax_planning::gst_rate_health_premium::REFUSE::tax_planning::medium", + "policy_id": null, + "question": "What is the current GST rate charged on health insurance premiums in India?", + "expected_answer": "Bot should refuse or say the policy documents do not state the applicable GST percentage \u2014 GST rates are set by the GST Council, not the insurer's product document.", + "question_type": "tax_planning", + "difficulty": "medium", + "expected_refusal": true, + "language": "en", + "generated_by": "pipeline_d_tax" + }, + { + "id": "tax_planning::topup_plan_tax_savings::REFUSE::tax_planning::medium", + "policy_id": null, + "question": "If I buy a top-up health plan in addition to my base policy, is the top-up premium also eligible for tax deduction?", + "expected_answer": "Bot should refuse on tax-eligibility advice \u2014 deduction eligibility under Section 80D is governed by the Income Tax Act, not the policy document; the bot can only describe policy features.", + "question_type": "tax_planning", + "difficulty": "medium", + "expected_refusal": true, + "language": "en", + "generated_by": "pipeline_d_tax" + }, + { + "id": "tax_planning::section_10_10d_life::REFUSE::tax_planning::hard", + "policy_id": null, + "question": "Are maturity proceeds from my health insurance policy tax-free under Section 10(10D)?", + "expected_answer": "Bot should refuse or clarify that Section 10(10D) applies to life-insurance proceeds and is outside the health-policy corpus; health indemnity policies do not pay maturity proceeds.", + "question_type": "tax_planning", + "difficulty": "hard", + "expected_refusal": true, + "language": "en", + "generated_by": "pipeline_d_tax" + }, + { + "id": "bajaj-allianz__tax-gain__cis::tax_benefit_section::REFUSE::tax_planning::medium", + "policy_id": "bajaj-allianz__tax-gain__cis", + "question": "The plan is called Tax Gain \u2014 what specific Section 80D tax deduction amount can I claim by buying this policy?", + "expected_answer": "Bot should refuse or note that the Tax Gain policy document in the corpus does not state any Section 80D limit \u2014 deduction eligibility and amounts are governed by the Income Tax Act, not the policy document.", + "question_type": "tax_planning", + "difficulty": "medium", + "expected_refusal": true, + "language": "en", + "generated_by": "pipeline_d_tax" + }, + { + "id": "bajaj-allianz__tax-gain__cis::tax_saving_calc::REFUSE::tax_planning::hard", + "policy_id": "bajaj-allianz__tax-gain__cis", + "question": "If I pay \u20b915,000 premium for Tax Gain at a 30% tax bracket, exactly how much tax will I save in the financial year?", + "expected_answer": "Bot should refuse \u2014 the Tax Gain policy document does not contain Section 80D limits or marginal tax-rate guidance; tax-saving calculations require Income Tax Act knowledge that is outside the corpus.", + "question_type": "tax_planning", + "difficulty": "hard", + "expected_refusal": true, + "language": "en", + "generated_by": "pipeline_d_tax" + }, + { + "id": "tax_planning::tds_on_claim_payouts::REFUSE::tax_planning::medium", + "policy_id": null, + "question": "Will TDS be deducted on the cashless claim amount paid by the insurer to the hospital?", + "expected_answer": "Bot should refuse or say TDS treatment of insurance claim payouts is governed by the Income Tax Act and is not addressed in the policy document corpus.", + "question_type": "tax_planning", + "difficulty": "medium", + "expected_refusal": true, + "language": "en", + "generated_by": "pipeline_d_tax" + }, + { + "id": "tax_planning::premium_prepay_tax_year::REFUSE::tax_planning::medium", + "policy_id": null, + "question": "If I pay a 2-year premium in lump sum in March, can I claim the entire amount as a Section 80D deduction in the same financial year?", + "expected_answer": "Bot should refuse \u2014 single-premium vs. multi-year apportionment rules under Section 80D are Income Tax Act provisions; the policy corpus does not include tax-treatment of lump-sum premiums.", + "question_type": "tax_planning", + "difficulty": "hard", + "expected_refusal": true, + "language": "en", + "generated_by": "pipeline_d_tax" + }, + { + "id": "tax_planning::hra_medical_interplay::REFUSE::tax_planning::hard", + "policy_id": null, + "question": "Can I claim HRA exemption and Section 80D health insurance deduction together in the same year?", + "expected_answer": "Bot should refuse \u2014 HRA exemption rules and inter-section deduction interactions are Income Tax Act provisions outside the policy corpus.", + "question_type": "tax_planning", + "difficulty": "hard", + "expected_refusal": true, + "language": "en", + "generated_by": "pipeline_d_tax" + }, + { + "id": "tax_planning::preventive_checkup_80d_sublimit::REFUSE::tax_planning::medium", + "policy_id": null, + "question": "How much of my preventive health check-up cost can I claim as a deduction under Section 80D, separately from the premium?", + "expected_answer": "Bot should refuse on the deduction-amount question \u2014 the policy corpus describes preventive check-up coverage limits, but Section 80D sub-limit for preventive HCU (\u20b95,000 within the overall cap) is an Income Tax Act provision not stated in the documents.", + "question_type": "tax_planning", + "difficulty": "medium", + "expected_refusal": true, + "language": "en", + "generated_by": "pipeline_d_tax" + }, + { + "id": "tax_planning::cash_premium_80d_eligibility::REFUSE::tax_planning::medium", + "policy_id": null, + "question": "If I pay my health insurance premium in cash, can I still claim the Section 80D deduction?", + "expected_answer": "Bot should refuse \u2014 the rule that 80D deductions require non-cash payment (except for preventive check-up) is an Income Tax Act provision; the policy documents in the corpus do not state payment-mode rules for tax eligibility.", + "question_type": "tax_planning", + "difficulty": "medium", + "expected_refusal": true, + "language": "en", + "generated_by": "pipeline_d_tax" } -] \ No newline at end of file +] diff --git a/eval/run.py b/eval/run.py index 0fa0f5a4c53ae333226fb28cc910f2acdcb3e27a..2f8328995cc919ca4a19151beae1ebc298f19cfa 100644 --- a/eval/run.py +++ b/eval/run.py @@ -280,8 +280,19 @@ async def main(): help="Concurrent questions in flight. KI-024 — was serial, now parallel. " "Cap is NIM's 40 req/min (~2 calls per question); 6 workers gives ~5× " "speedup before saturating. Drop to 1 to reproduce historical serial timing.") + parser.add_argument("--no-extract", action="store_true", + help="KI-053 — skip backend.profile_extractor LLM call in eval. Eval gold " + "questions have empty user_profile so the extractor wastes a NIM call " + "per question. Setting this env var makes orchestrator skip it. " + "~25%% throughput gain; no impact on grading.") args = parser.parse_args() + # KI-053 — propagate the skip flag via env var so the deep-stack + # orchestrator code path can read it without API churn. + if args.no_extract: + import os as _os + _os.environ["INSURANCE_BOT_SKIP_PROFILE_EXTRACTOR"] = "1" + if not GOLD_FILE.exists(): print(f"Missing {GOLD_FILE} — run `python -m eval.generate_gold` first") return 1 diff --git a/kb/AUDIT_TRAIL.md b/kb/AUDIT_TRAIL.md index 53617db1a017cb40a36e3c5580601968d2939364..185b2c34daa7730b6942df109f93d69aa8682707 100644 --- a/kb/AUDIT_TRAIL.md +++ b/kb/AUDIT_TRAIL.md @@ -19,7 +19,7 @@ For a Sarvam interviewer or BFSI compliance auditor: open this file, follow the SOURCE PDFs DISCOVERY DOWNLOAD - 10 insurer websites → - corpus_discovery → - rag/download_corpus.py - IRDAI database agent (75 URLs found) - HEAD-check + magic byte -- regulatory portals - data/corpus_urls.md - retry logic for 403/timeout +- regulatory portals - 40-data/corpus_urls.md - retry logic for 403/timeout → rag/corpus/*.pdf [4] [5] [6] @@ -58,8 +58,8 @@ RESPONSE TTS UI RENDER | Stage | Artifact | Path | Generated by | Verifiable by | | --- | --- | --- | --- | --- | | 1 SOURCE | Raw insurer PDFs | `rag/corpus//*.pdf` | manual + agent crawl | open URL in browser; HEAD-check via `tools/verify_urls.py` | -| 2 DISCOVERY | URL index | `data/corpus_urls.md` | `Agent` task `a9594655...` (research agent) | git history of discovery agent | -| 2 DISCOVERY | Regulatory URLs | `data/regulatory_urls.md` | `Agent` task `a87f8380...` | git history | +| 2 DISCOVERY | URL index | `40-data/corpus_urls.md` | `Agent` task `a9594655...` (research agent) | git history of discovery agent | +| 2 DISCOVERY | Regulatory URLs | `40-data/regulatory_urls.md` | `Agent` task `a87f8380...` | git history | | 3 DOWNLOAD | Manifest | `rag/corpus/_manifest.json` | `rag/download_corpus.py` + `rag/download_retry.py` | re-run download script | | 4 PARSE | per-page text (in-memory) | _ephemeral_ | `rag/ingest.py:read_pdf_pages` | open PDF; pdfplumber on it | | 5 CHUNK | chunks (in-memory) | _ephemeral_ | `rag/ingest.py:chunk_pages` | run ingest with `--dry-run` | @@ -109,14 +109,14 @@ Every architectural decision in `70-docs/decisions.md` produces a specific artif | Decision | Artifact produced | | --- | --- | | D-001 Vertical slice scope | `kb/policies/` (10 categories only Health) | -| D-002 Health category | `data/corpus_urls.md` (76 health PDFs) | +| D-002 Health category | `40-data/corpus_urls.md` (76 health PDFs) | | D-003 Curated corpus | `rag/corpus/` (no user uploads in v1, expanded in v1.1 with security gates) | | D-004 Hybrid structured + unstructured | `rag/policies.duckdb` + `rag/vectors/` | | D-005 Next.js + FastAPI | `frontend/` + `backend/main.py` | | D-006 Sarvam-first | `backend/providers/sarvam_*.py` | | D-007 Pricing illustrative only | (no `actual_premium` field anywhere) | | D-008 Consultative persona | `backend/persona.py` | -| D-009 10 insurers / all health policies | `data/corpus_urls.md` (75 URLs) | +| D-009 10 insurers / all health policies | `40-data/corpus_urls.md` (75 URLs) | | D-010 Secret handling | `.env` (chmod 600 + gitignored) | | D-011 Voyage embeddings | _superseded by local BGE; see D-011 revision_ | | D-012 Render hosting | _superseded by HF Spaces_ | @@ -179,13 +179,13 @@ Total cost from cold: <$2 (BGE local + ~80 LLM extractions). Total wall-time: ~3 ## Batch — 2026-05-14 -Three back-to-back curation passes brought the `data/policy_facts/` directory to **102 policies** with verbatim-quote provenance. Mirrored into `kb/policies/` today. +Three back-to-back curation passes brought the `40-data/policy_facts/` directory to **102 policies** with verbatim-quote provenance. Mirrored into `kb/policies/` today. -- **Batch 1 — human-research curation (22 policies).** Manual + agent-assisted verbatim extraction from local PDFs in `rag/corpus/` for the 22 highest-priority wordings. Schema: `{value, unit?, source_pdf_path, source_quote}` per field with a `_meta` block (`curated_at`, `primary_source_pdf`, `completeness_pct`, `notes`). Average completeness ≈83.5%. Recorded in [`data/policy_facts/_curation_report.md`](../data/policy_facts/_curation_report.md). +- **Batch 1 — human-research curation (22 policies).** Manual + agent-assisted verbatim extraction from local PDFs in `rag/corpus/` for the 22 highest-priority wordings. Schema: `{value, unit?, source_pdf_path, source_quote}` per field with a `_meta` block (`curated_at`, `primary_source_pdf`, `completeness_pct`, `notes`). Average completeness ≈83.5%. Recorded in [`40-data/policy_facts/_curation_report.md`](../40-data/policy_facts/_curation_report.md). - **Batch 2 — regex + pdfplumber pass (43 policies).** Automated pattern extraction across the remaining retail health policy PDFs. Each field carries the same provenance triple; numeric values were validated against the verbatim quote before being written. - **Batch 3 — group / specialty policies (37 policies).** `tools/curate_remaining.py` extended coverage to group, top-up, critical-illness, personal-accident, and specialty riders. Marked with `policy_type` (e.g. `hospital_cash`) where the wording diverged from indemnity templates. -**Verification.** `tools/info_source_map.py` produced [`eval/info_source_map.json`](../eval/info_source_map.json) and [`data/information_source_map.md`](../data/information_source_map.md) with verdict counts: **✅ 798 / ⚠️ 321 / ❌ 0 / ⏳ 1385.** No ❌ (broken-link) verdicts remain; the ⏳ tail tracks deferred verifications. The ✅:⚠️ ratio is the canonical KPI for source-grounding quality on this dataset. +**Verification.** `tools/info_source_map.py` produced [`eval/info_source_map.json`](../eval/info_source_map.json) and [`40-data/information_source_map.md`](../40-data/information_source_map.md) with verdict counts: **✅ 798 / ⚠️ 321 / ❌ 0 / ⏳ 1385.** No ❌ (broken-link) verdicts remain; the ⏳ tail tracks deferred verifications. The ✅:⚠️ ratio is the canonical KPI for source-grounding quality on this dataset. **UI / runtime changes shipped today:** diff --git a/kb/INDEX.md b/kb/INDEX.md index 446a5e64ea457141c37465ea9b683b36c2ac25ba..6104ac6860a79da990375d1c42e2fb6b446d732c 100644 --- a/kb/INDEX.md +++ b/kb/INDEX.md @@ -303,4 +303,4 @@ kb/ ## Provenance convention -Every `policies/.md` file is generated from `data/policy_facts/.json` and preserves the verbatim source quote and source PDF path for every field. JSON is the machine source; markdown is the human-readable mirror. Regenerate the entire kb/ tree by running `.venv/bin/python3 tools/build_kb_mirror.py`. +Every `policies/.md` file is generated from `40-data/policy_facts/.json` and preserves the verbatim source quote and source PDF path for every field. JSON is the machine source; markdown is the human-readable mirror. Regenerate the entire kb/ tree by running `.venv/bin/python3 tools/build_kb_mirror.py`. diff --git a/kb/policies/acko__acko-health-ii__wordings.md b/kb/policies/acko__acko-health-ii__wordings.md index e56b1219304e1c6aee8751f37773bcc1b9d9e617..ac2778aa7cea5193ac1cc3a2ff08e0742fb6cca6 100644 --- a/kb/policies/acko__acko-health-ii__wordings.md +++ b/kb/policies/acko__acko-health-ii__wordings.md @@ -251,4 +251,4 @@ _no data_ --- -_Mirrored from `data/policy_facts/acko__acko-health-ii__wordings.json`. Provenance — every field's verbatim quote and source PDF path is preserved exactly as curated. Do not hand-edit; regenerate via `tools/build_kb_mirror.py`._ +_Mirrored from `40-data/policy_facts/acko__acko-health-ii__wordings.json`. Provenance — every field's verbatim quote and source PDF path is preserved exactly as curated. Do not hand-edit; regenerate via `tools/build_kb_mirror.py`._ diff --git a/kb/policies/acko__acko-health-iii-platinum-lite__wordings.md b/kb/policies/acko__acko-health-iii-platinum-lite__wordings.md index a1491ac9f23745ad9f1b3fe9377a0f81d571968f..1ecb4b8d1d8c54ac3c9501c13edc1485a2a0697f 100644 --- a/kb/policies/acko__acko-health-iii-platinum-lite__wordings.md +++ b/kb/policies/acko__acko-health-iii-platinum-lite__wordings.md @@ -251,4 +251,4 @@ _no data_ --- -_Mirrored from `data/policy_facts/acko__acko-health-iii-platinum-lite__wordings.json`. Provenance — every field's verbatim quote and source PDF path is preserved exactly as curated. Do not hand-edit; regenerate via `tools/build_kb_mirror.py`._ +_Mirrored from `40-data/policy_facts/acko__acko-health-iii-platinum-lite__wordings.json`. Provenance — every field's verbatim quote and source PDF path is preserved exactly as curated. Do not hand-edit; regenerate via `tools/build_kb_mirror.py`._ diff --git a/kb/policies/acko__acko-health-iii-platinum__wordings.md b/kb/policies/acko__acko-health-iii-platinum__wordings.md index 7e2f218267770787aafdf64f5ad7f0350e9a63cb..a1c469a109385c4e129446272641440384c0c6eb 100644 --- a/kb/policies/acko__acko-health-iii-platinum__wordings.md +++ b/kb/policies/acko__acko-health-iii-platinum__wordings.md @@ -251,4 +251,4 @@ _no data_ --- -_Mirrored from `data/policy_facts/acko__acko-health-iii-platinum__wordings.json`. Provenance — every field's verbatim quote and source PDF path is preserved exactly as curated. Do not hand-edit; regenerate via `tools/build_kb_mirror.py`._ +_Mirrored from `40-data/policy_facts/acko__acko-health-iii-platinum__wordings.json`. Provenance — every field's verbatim quote and source PDF path is preserved exactly as curated. Do not hand-edit; regenerate via `tools/build_kb_mirror.py`._ diff --git a/kb/policies/acko__acko-health-iii__cis.md b/kb/policies/acko__acko-health-iii__cis.md index d521aeb3de59015ca3c2aade52a6a48c76d6259f..203caad57523149f085dae048bf556364491523e 100644 --- a/kb/policies/acko__acko-health-iii__cis.md +++ b/kb/policies/acko__acko-health-iii__cis.md @@ -251,4 +251,4 @@ _no data_ --- -_Mirrored from `data/policy_facts/acko__acko-health-iii__cis.json`. Provenance — every field's verbatim quote and source PDF path is preserved exactly as curated. Do not hand-edit; regenerate via `tools/build_kb_mirror.py`._ +_Mirrored from `40-data/policy_facts/acko__acko-health-iii__cis.json`. Provenance — every field's verbatim quote and source PDF path is preserved exactly as curated. Do not hand-edit; regenerate via `tools/build_kb_mirror.py`._ diff --git a/kb/policies/acko__acko-personal-health__wordings.md b/kb/policies/acko__acko-personal-health__wordings.md index a084ade4db7fa31f7ca125601eac5bab153e2245..03ac3d07a0467d68b43fc5fe84a8db392694018d 100644 --- a/kb/policies/acko__acko-personal-health__wordings.md +++ b/kb/policies/acko__acko-personal-health__wordings.md @@ -251,4 +251,4 @@ _no data_ --- -_Mirrored from `data/policy_facts/acko__acko-personal-health__wordings.json`. Provenance — every field's verbatim quote and source PDF path is preserved exactly as curated. Do not hand-edit; regenerate via `tools/build_kb_mirror.py`._ +_Mirrored from `40-data/policy_facts/acko__acko-personal-health__wordings.json`. Provenance — every field's verbatim quote and source PDF path is preserved exactly as curated. Do not hand-edit; regenerate via `tools/build_kb_mirror.py`._ diff --git a/kb/policies/acko__arogya-sanjeevani__wordings.md b/kb/policies/acko__arogya-sanjeevani__wordings.md index f19d42319755503a31e18e8c049d9f1a340cd485..a2ea57ab2b3e9d5636573d6686927cbe414d8ce9 100644 --- a/kb/policies/acko__arogya-sanjeevani__wordings.md +++ b/kb/policies/acko__arogya-sanjeevani__wordings.md @@ -251,4 +251,4 @@ _no data_ --- -_Mirrored from `data/policy_facts/acko__arogya-sanjeevani__wordings.json`. Provenance — every field's verbatim quote and source PDF path is preserved exactly as curated. Do not hand-edit; regenerate via `tools/build_kb_mirror.py`._ +_Mirrored from `40-data/policy_facts/acko__arogya-sanjeevani__wordings.json`. Provenance — every field's verbatim quote and source PDF path is preserved exactly as curated. Do not hand-edit; regenerate via `tools/build_kb_mirror.py`._ diff --git a/kb/policies/aditya-birla__activ-assure-diamond.md b/kb/policies/aditya-birla__activ-assure-diamond.md index 723dfd81c3a0010977e8a04d0ac5b8305e080eed..55e1b9f5eff091cba4d2616395e79760ed510477 100644 --- a/kb/policies/aditya-birla__activ-assure-diamond.md +++ b/kb/policies/aditya-birla__activ-assure-diamond.md @@ -297,4 +297,4 @@ curated_at: 2026-05-13 --- -_Mirrored from `data/policy_facts/aditya-birla__activ-assure-diamond.json`. Provenance — every field's verbatim quote and source PDF path is preserved exactly as curated. Do not hand-edit; regenerate via `tools/build_kb_mirror.py`._ +_Mirrored from `40-data/policy_facts/aditya-birla__activ-assure-diamond.json`. Provenance — every field's verbatim quote and source PDF path is preserved exactly as curated. Do not hand-edit; regenerate via `tools/build_kb_mirror.py`._ diff --git a/kb/policies/aditya-birla__activ-assure-diamond__wordings.md b/kb/policies/aditya-birla__activ-assure-diamond__wordings.md index 7e41b4bc5d40d1f1a15f1c321bd0a6600d56e837..4fd96d5eedf9c413fbc689f310c2b8f720ca39ed 100644 --- a/kb/policies/aditya-birla__activ-assure-diamond__wordings.md +++ b/kb/policies/aditya-birla__activ-assure-diamond__wordings.md @@ -251,4 +251,4 @@ _no data_ --- -_Mirrored from `data/policy_facts/aditya-birla__activ-assure-diamond__wordings.json`. Provenance — every field's verbatim quote and source PDF path is preserved exactly as curated. Do not hand-edit; regenerate via `tools/build_kb_mirror.py`._ +_Mirrored from `40-data/policy_facts/aditya-birla__activ-assure-diamond__wordings.json`. Provenance — every field's verbatim quote and source PDF path is preserved exactly as curated. Do not hand-edit; regenerate via `tools/build_kb_mirror.py`._ diff --git a/kb/policies/aditya-birla__activ-health-individual__wordings.md b/kb/policies/aditya-birla__activ-health-individual__wordings.md index 95ccadd9441d497a39733409a88fad178a37bd02..a57ca24e145cfdec60d14973016acbff82e3a1ab 100644 --- a/kb/policies/aditya-birla__activ-health-individual__wordings.md +++ b/kb/policies/aditya-birla__activ-health-individual__wordings.md @@ -259,4 +259,4 @@ Zone II Zone I 10% --- -_Mirrored from `data/policy_facts/aditya-birla__activ-health-individual__wordings.json`. Provenance — every field's verbatim quote and source PDF path is preserved exactly as curated. Do not hand-edit; regenerate via `tools/build_kb_mirror.py`._ +_Mirrored from `40-data/policy_facts/aditya-birla__activ-health-individual__wordings.json`. Provenance — every field's verbatim quote and source PDF path is preserved exactly as curated. Do not hand-edit; regenerate via `tools/build_kb_mirror.py`._ diff --git a/kb/policies/aditya-birla__activ-health.md b/kb/policies/aditya-birla__activ-health.md index c25aaccd16fd4f73ac11a38bba7435c67721631a..9bcb1f5c6e31c011334501919d1d5c0e21f5ba12 100644 --- a/kb/policies/aditya-birla__activ-health.md +++ b/kb/policies/aditya-birla__activ-health.md @@ -297,4 +297,4 @@ curated_at: 2026-05-14 --- -_Mirrored from `data/policy_facts/aditya-birla__activ-health.json`. Provenance — every field's verbatim quote and source PDF path is preserved exactly as curated. Do not hand-edit; regenerate via `tools/build_kb_mirror.py`._ +_Mirrored from `40-data/policy_facts/aditya-birla__activ-health.json`. Provenance — every field's verbatim quote and source PDF path is preserved exactly as curated. Do not hand-edit; regenerate via `tools/build_kb_mirror.py`._ diff --git a/kb/policies/aditya-birla__activ-one.md b/kb/policies/aditya-birla__activ-one.md index 5d09cc07b28d6ca673628115cdf6dccdfac18fa8..a2531e63c5c236037d3687a1f320caeec06ee207 100644 --- a/kb/policies/aditya-birla__activ-one.md +++ b/kb/policies/aditya-birla__activ-one.md @@ -297,4 +297,4 @@ curated_at: 2026-05-13 --- -_Mirrored from `data/policy_facts/aditya-birla__activ-one.json`. Provenance — every field's verbatim quote and source PDF path is preserved exactly as curated. Do not hand-edit; regenerate via `tools/build_kb_mirror.py`._ +_Mirrored from `40-data/policy_facts/aditya-birla__activ-one.json`. Provenance — every field's verbatim quote and source PDF path is preserved exactly as curated. Do not hand-edit; regenerate via `tools/build_kb_mirror.py`._ diff --git a/kb/policies/aditya-birla__activ-one__brochure.md b/kb/policies/aditya-birla__activ-one__brochure.md index d357977baf085cc8ffab44565e17365f1cc2adf9..ffdbe069382f7d2d7ab9c5c40cd29cdd37b09100 100644 --- a/kb/policies/aditya-birla__activ-one__brochure.md +++ b/kb/policies/aditya-birla__activ-one__brochure.md @@ -251,4 +251,4 @@ _no data_ --- -_Mirrored from `data/policy_facts/aditya-birla__activ-one__brochure.json`. Provenance — every field's verbatim quote and source PDF path is preserved exactly as curated. Do not hand-edit; regenerate via `tools/build_kb_mirror.py`._ +_Mirrored from `40-data/policy_facts/aditya-birla__activ-one__brochure.json`. Provenance — every field's verbatim quote and source PDF path is preserved exactly as curated. Do not hand-edit; regenerate via `tools/build_kb_mirror.py`._ diff --git a/kb/policies/aditya-birla__activ-secure-cancer-secure__brochure.md b/kb/policies/aditya-birla__activ-secure-cancer-secure__brochure.md index 8b23916d3db012e77e41b61e0ff2cf6af3db837f..ed21d53cef8d0e822589b1b9bdddc78e034552d5 100644 --- a/kb/policies/aditya-birla__activ-secure-cancer-secure__brochure.md +++ b/kb/policies/aditya-birla__activ-secure-cancer-secure__brochure.md @@ -257,4 +257,4 @@ curated_at: 2026-05-14 --- -_Mirrored from `data/policy_facts/aditya-birla__activ-secure-cancer-secure__brochure.json`. Provenance — every field's verbatim quote and source PDF path is preserved exactly as curated. Do not hand-edit; regenerate via `tools/build_kb_mirror.py`._ +_Mirrored from `40-data/policy_facts/aditya-birla__activ-secure-cancer-secure__brochure.json`. Provenance — every field's verbatim quote and source PDF path is preserved exactly as curated. Do not hand-edit; regenerate via `tools/build_kb_mirror.py`._ diff --git a/kb/policies/aditya-birla__activ-secure-personal-accident-cancer-secure__wordings.md b/kb/policies/aditya-birla__activ-secure-personal-accident-cancer-secure__wordings.md index 003083fbcd7ce13269c688c4102ded93f18c0341..19e7cf41fcff8a5217e7e08b1ba7b0f44a2423fa 100644 --- a/kb/policies/aditya-birla__activ-secure-personal-accident-cancer-secure__wordings.md +++ b/kb/policies/aditya-birla__activ-secure-personal-accident-cancer-secure__wordings.md @@ -257,4 +257,4 @@ curated_at: 2026-05-14 --- -_Mirrored from `data/policy_facts/aditya-birla__activ-secure-personal-accident-cancer-secure__wordings.json`. Provenance — every field's verbatim quote and source PDF path is preserved exactly as curated. Do not hand-edit; regenerate via `tools/build_kb_mirror.py`._ +_Mirrored from `40-data/policy_facts/aditya-birla__activ-secure-personal-accident-cancer-secure__wordings.json`. Provenance — every field's verbatim quote and source PDF path is preserved exactly as curated. Do not hand-edit; regenerate via `tools/build_kb_mirror.py`._ diff --git a/kb/policies/aditya-birla__group-activ-health__wordings.md b/kb/policies/aditya-birla__group-activ-health__wordings.md index d0fc2c444da2a0cbea85eb9cda2ba7dc1576413a..3e0f43756facefad01ecbf02b37e142be01b1817 100644 --- a/kb/policies/aditya-birla__group-activ-health__wordings.md +++ b/kb/policies/aditya-birla__group-activ-health__wordings.md @@ -262,4 +262,4 @@ the Associated Med --- -_Mirrored from `data/policy_facts/aditya-birla__group-activ-health__wordings.json`. Provenance — every field's verbatim quote and source PDF path is preserved exactly as curated. Do not hand-edit; regenerate via `tools/build_kb_mirror.py`._ +_Mirrored from `40-data/policy_facts/aditya-birla__group-activ-health__wordings.json`. Provenance — every field's verbatim quote and source PDF path is preserved exactly as curated. Do not hand-edit; regenerate via `tools/build_kb_mirror.py`._ diff --git a/kb/policies/bajaj-allianz__comprehensive-care-plan.md b/kb/policies/bajaj-allianz__comprehensive-care-plan.md index 3ae742e57b72b3878bae98b6957f81ff8a0d6e1c..189f65fd11afb6fb9c3ecb395588e9e67c965438 100644 --- a/kb/policies/bajaj-allianz__comprehensive-care-plan.md +++ b/kb/policies/bajaj-allianz__comprehensive-care-plan.md @@ -297,4 +297,4 @@ curated_at: 2026-05-14 --- -_Mirrored from `data/policy_facts/bajaj-allianz__comprehensive-care-plan.json`. Provenance — every field's verbatim quote and source PDF path is preserved exactly as curated. Do not hand-edit; regenerate via `tools/build_kb_mirror.py`._ +_Mirrored from `40-data/policy_facts/bajaj-allianz__comprehensive-care-plan.json`. Provenance — every field's verbatim quote and source PDF path is preserved exactly as curated. Do not hand-edit; regenerate via `tools/build_kb_mirror.py`._ diff --git a/kb/policies/bajaj-allianz__comprehensive-care-plan__wordings.md b/kb/policies/bajaj-allianz__comprehensive-care-plan__wordings.md index 4fb45638913f1edcca17ce4684d9595f54557831..580f2bdd9f27f615148535489015310b716da746 100644 --- a/kb/policies/bajaj-allianz__comprehensive-care-plan__wordings.md +++ b/kb/policies/bajaj-allianz__comprehensive-care-plan__wordings.md @@ -251,4 +251,4 @@ _no data_ --- -_Mirrored from `data/policy_facts/bajaj-allianz__comprehensive-care-plan__wordings.json`. Provenance — every field's verbatim quote and source PDF path is preserved exactly as curated. Do not hand-edit; regenerate via `tools/build_kb_mirror.py`._ +_Mirrored from `40-data/policy_facts/bajaj-allianz__comprehensive-care-plan__wordings.json`. Provenance — every field's verbatim quote and source PDF path is preserved exactly as curated. Do not hand-edit; regenerate via `tools/build_kb_mirror.py`._ diff --git a/kb/policies/bajaj-allianz__criti-care__wordings.md b/kb/policies/bajaj-allianz__criti-care__wordings.md index 904190da9239430e9612dd97461c67c0248116ca..1556359d56b1fe79fd16cdcfd14a24a999f4a687 100644 --- a/kb/policies/bajaj-allianz__criti-care__wordings.md +++ b/kb/policies/bajaj-allianz__criti-care__wordings.md @@ -257,4 +257,4 @@ curated_at: 2026-05-14 --- -_Mirrored from `data/policy_facts/bajaj-allianz__criti-care__wordings.json`. Provenance — every field's verbatim quote and source PDF path is preserved exactly as curated. Do not hand-edit; regenerate via `tools/build_kb_mirror.py`._ +_Mirrored from `40-data/policy_facts/bajaj-allianz__criti-care__wordings.json`. Provenance — every field's verbatim quote and source PDF path is preserved exactly as curated. Do not hand-edit; regenerate via `tools/build_kb_mirror.py`._ diff --git a/kb/policies/bajaj-allianz__extra-care-plus__wordings.md b/kb/policies/bajaj-allianz__extra-care-plus__wordings.md index 257a051203f0eebbc1662657a8b3e3a33bb9b965..0cc3161cb04a2329296b498624095c67b83df060 100644 --- a/kb/policies/bajaj-allianz__extra-care-plus__wordings.md +++ b/kb/policies/bajaj-allianz__extra-care-plus__wordings.md @@ -251,4 +251,4 @@ _no data_ --- -_Mirrored from `data/policy_facts/bajaj-allianz__extra-care-plus__wordings.json`. Provenance — every field's verbatim quote and source PDF path is preserved exactly as curated. Do not hand-edit; regenerate via `tools/build_kb_mirror.py`._ +_Mirrored from `40-data/policy_facts/bajaj-allianz__extra-care-plus__wordings.json`. Provenance — every field's verbatim quote and source PDF path is preserved exactly as curated. Do not hand-edit; regenerate via `tools/build_kb_mirror.py`._ diff --git a/kb/policies/bajaj-allianz__global-health-care.md b/kb/policies/bajaj-allianz__global-health-care.md index 445e833750d557403490c6f7b1192ee3a9260f3c..010cf79a6018e3ab913ed56721b3f149607f33a8 100644 --- a/kb/policies/bajaj-allianz__global-health-care.md +++ b/kb/policies/bajaj-allianz__global-health-care.md @@ -297,4 +297,4 @@ curated_at: 2026-05-14 --- -_Mirrored from `data/policy_facts/bajaj-allianz__global-health-care.json`. Provenance — every field's verbatim quote and source PDF path is preserved exactly as curated. Do not hand-edit; regenerate via `tools/build_kb_mirror.py`._ +_Mirrored from `40-data/policy_facts/bajaj-allianz__global-health-care.json`. Provenance — every field's verbatim quote and source PDF path is preserved exactly as curated. Do not hand-edit; regenerate via `tools/build_kb_mirror.py`._ diff --git a/kb/policies/bajaj-allianz__global-health-care__wordings.md b/kb/policies/bajaj-allianz__global-health-care__wordings.md index 0fe74563a263da71f8379e281680d77192af6351..a77d7172366d31ce34205a6f595f1091c6337ecb 100644 --- a/kb/policies/bajaj-allianz__global-health-care__wordings.md +++ b/kb/policies/bajaj-allianz__global-health-care__wordings.md @@ -251,4 +251,4 @@ _no data_ --- -_Mirrored from `data/policy_facts/bajaj-allianz__global-health-care__wordings.json`. Provenance — every field's verbatim quote and source PDF path is preserved exactly as curated. Do not hand-edit; regenerate via `tools/build_kb_mirror.py`._ +_Mirrored from `40-data/policy_facts/bajaj-allianz__global-health-care__wordings.json`. Provenance — every field's verbatim quote and source PDF path is preserved exactly as curated. Do not hand-edit; regenerate via `tools/build_kb_mirror.py`._ diff --git a/kb/policies/bajaj-allianz__group-health-guard-gold__wordings.md b/kb/policies/bajaj-allianz__group-health-guard-gold__wordings.md index e963a7f68868ec8cf379466d4e6fa39c44e51e33..4963f1b304e0a135243951c5f75946de1b784c17 100644 --- a/kb/policies/bajaj-allianz__group-health-guard-gold__wordings.md +++ b/kb/policies/bajaj-allianz__group-health-guard-gold__wordings.md @@ -260,4 +260,4 @@ year, then it is agreed that 100% --- -_Mirrored from `data/policy_facts/bajaj-allianz__group-health-guard-gold__wordings.json`. Provenance — every field's verbatim quote and source PDF path is preserved exactly as curated. Do not hand-edit; regenerate via `tools/build_kb_mirror.py`._ +_Mirrored from `40-data/policy_facts/bajaj-allianz__group-health-guard-gold__wordings.json`. Provenance — every field's verbatim quote and source PDF path is preserved exactly as curated. Do not hand-edit; regenerate via `tools/build_kb_mirror.py`._ diff --git a/kb/policies/bajaj-allianz__group-personal-accident__wordings.md b/kb/policies/bajaj-allianz__group-personal-accident__wordings.md index 9110cfa63ed568f890561f8c249e4931b7f60094..a42b3666b179a84e390e2dfe012d322955977b2d 100644 --- a/kb/policies/bajaj-allianz__group-personal-accident__wordings.md +++ b/kb/policies/bajaj-allianz__group-personal-accident__wordings.md @@ -255,4 +255,4 @@ curated_at: 2026-05-14 --- -_Mirrored from `data/policy_facts/bajaj-allianz__group-personal-accident__wordings.json`. Provenance — every field's verbatim quote and source PDF path is preserved exactly as curated. Do not hand-edit; regenerate via `tools/build_kb_mirror.py`._ +_Mirrored from `40-data/policy_facts/bajaj-allianz__group-personal-accident__wordings.json`. Provenance — every field's verbatim quote and source PDF path is preserved exactly as curated. Do not hand-edit; regenerate via `tools/build_kb_mirror.py`._ diff --git a/kb/policies/bajaj-allianz__health-guard-gold-individual__wordings.md b/kb/policies/bajaj-allianz__health-guard-gold-individual__wordings.md index 1f5e005afa2a8f80c047a0283969f727f01c1f45..5bedb205155d9a14306b8c1b672a44e8d6b9630c 100644 --- a/kb/policies/bajaj-allianz__health-guard-gold-individual__wordings.md +++ b/kb/policies/bajaj-allianz__health-guard-gold-individual__wordings.md @@ -261,4 +261,4 @@ then it is agreed that 100% --- -_Mirrored from `data/policy_facts/bajaj-allianz__health-guard-gold-individual__wordings.json`. Provenance — every field's verbatim quote and source PDF path is preserved exactly as curated. Do not hand-edit; regenerate via `tools/build_kb_mirror.py`._ +_Mirrored from `40-data/policy_facts/bajaj-allianz__health-guard-gold-individual__wordings.json`. Provenance — every field's verbatim quote and source PDF path is preserved exactly as curated. Do not hand-edit; regenerate via `tools/build_kb_mirror.py`._ diff --git a/kb/policies/bajaj-allianz__health-guard-gold.md b/kb/policies/bajaj-allianz__health-guard-gold.md index 26553e85ac74ea5bca985955a009731e2bc1c6e6..c2663ca3d5a92ba15015b9ffcd99782dad941ec2 100644 --- a/kb/policies/bajaj-allianz__health-guard-gold.md +++ b/kb/policies/bajaj-allianz__health-guard-gold.md @@ -297,4 +297,4 @@ curated_at: 2026-05-13 --- -_Mirrored from `data/policy_facts/bajaj-allianz__health-guard-gold.json`. Provenance — every field's verbatim quote and source PDF path is preserved exactly as curated. Do not hand-edit; regenerate via `tools/build_kb_mirror.py`._ +_Mirrored from `40-data/policy_facts/bajaj-allianz__health-guard-gold.json`. Provenance — every field's verbatim quote and source PDF path is preserved exactly as curated. Do not hand-edit; regenerate via `tools/build_kb_mirror.py`._ diff --git a/kb/policies/bajaj-allianz__health-guard.md b/kb/policies/bajaj-allianz__health-guard.md index b9b3a7ca6e6d85fa512b5764a2faf75159a86c75..6f5d31cbb792e6c8be3087703ba444eaaf7d2b71 100644 --- a/kb/policies/bajaj-allianz__health-guard.md +++ b/kb/policies/bajaj-allianz__health-guard.md @@ -297,4 +297,4 @@ curated_at: 2026-05-14 --- -_Mirrored from `data/policy_facts/bajaj-allianz__health-guard.json`. Provenance — every field's verbatim quote and source PDF path is preserved exactly as curated. Do not hand-edit; regenerate via `tools/build_kb_mirror.py`._ +_Mirrored from `40-data/policy_facts/bajaj-allianz__health-guard.json`. Provenance — every field's verbatim quote and source PDF path is preserved exactly as curated. Do not hand-edit; regenerate via `tools/build_kb_mirror.py`._ diff --git a/kb/policies/bajaj-allianz__health-guard__wordings.md b/kb/policies/bajaj-allianz__health-guard__wordings.md index f4b2512b3f33d3d4aaf498d35e9c693088bb02b3..26b06e751c97eb3ac38625ee411eb57d15855de3 100644 --- a/kb/policies/bajaj-allianz__health-guard__wordings.md +++ b/kb/policies/bajaj-allianz__health-guard__wordings.md @@ -251,4 +251,4 @@ _no data_ --- -_Mirrored from `data/policy_facts/bajaj-allianz__health-guard__wordings.json`. Provenance — every field's verbatim quote and source PDF path is preserved exactly as curated. Do not hand-edit; regenerate via `tools/build_kb_mirror.py`._ +_Mirrored from `40-data/policy_facts/bajaj-allianz__health-guard__wordings.json`. Provenance — every field's verbatim quote and source PDF path is preserved exactly as curated. Do not hand-edit; regenerate via `tools/build_kb_mirror.py`._ diff --git a/kb/policies/bajaj-allianz__silver-health__cis.md b/kb/policies/bajaj-allianz__silver-health__cis.md index a039f14efdb28c3cd5e7f9f4214a86ee893473e7..8723532415f297b1ee1dbc7bc23d9f986156007c 100644 --- a/kb/policies/bajaj-allianz__silver-health__cis.md +++ b/kb/policies/bajaj-allianz__silver-health__cis.md @@ -251,4 +251,4 @@ _no data_ --- -_Mirrored from `data/policy_facts/bajaj-allianz__silver-health__cis.json`. Provenance — every field's verbatim quote and source PDF path is preserved exactly as curated. Do not hand-edit; regenerate via `tools/build_kb_mirror.py`._ +_Mirrored from `40-data/policy_facts/bajaj-allianz__silver-health__cis.json`. Provenance — every field's verbatim quote and source PDF path is preserved exactly as curated. Do not hand-edit; regenerate via `tools/build_kb_mirror.py`._ diff --git a/kb/policies/bajaj-allianz__tax-gain.md b/kb/policies/bajaj-allianz__tax-gain.md index c87fe595e47f4b93ada371907611d9bc790ff055..755b6b76ee8ee26ec1c1fc6e2b96bacaf45ea952 100644 --- a/kb/policies/bajaj-allianz__tax-gain.md +++ b/kb/policies/bajaj-allianz__tax-gain.md @@ -297,4 +297,4 @@ curated_at: 2026-05-14 --- -_Mirrored from `data/policy_facts/bajaj-allianz__tax-gain.json`. Provenance — every field's verbatim quote and source PDF path is preserved exactly as curated. Do not hand-edit; regenerate via `tools/build_kb_mirror.py`._ +_Mirrored from `40-data/policy_facts/bajaj-allianz__tax-gain.json`. Provenance — every field's verbatim quote and source PDF path is preserved exactly as curated. Do not hand-edit; regenerate via `tools/build_kb_mirror.py`._ diff --git a/kb/policies/bajaj-allianz__tax-gain__cis.md b/kb/policies/bajaj-allianz__tax-gain__cis.md index ef849ce8507f7fecd3661ba5f4de6d95be804812..98e5d2ac0bda2d0ab2225dea7b63012d411c337b 100644 --- a/kb/policies/bajaj-allianz__tax-gain__cis.md +++ b/kb/policies/bajaj-allianz__tax-gain__cis.md @@ -251,4 +251,4 @@ _no data_ --- -_Mirrored from `data/policy_facts/bajaj-allianz__tax-gain__cis.json`. Provenance — every field's verbatim quote and source PDF path is preserved exactly as curated. Do not hand-edit; regenerate via `tools/build_kb_mirror.py`._ +_Mirrored from `40-data/policy_facts/bajaj-allianz__tax-gain__cis.json`. Provenance — every field's verbatim quote and source PDF path is preserved exactly as curated. Do not hand-edit; regenerate via `tools/build_kb_mirror.py`._ diff --git a/kb/policies/care-health__care-advantage-add-ons-protect-plus-care-shield__brochure.md b/kb/policies/care-health__care-advantage-add-ons-protect-plus-care-shield__brochure.md index ee62974c4b4aed20a6148c41b11c0556b78cae5d..7fc236a9b964d648338ef487090dacdc0d36c0d4 100644 --- a/kb/policies/care-health__care-advantage-add-ons-protect-plus-care-shield__brochure.md +++ b/kb/policies/care-health__care-advantage-add-ons-protect-plus-care-shield__brochure.md @@ -261,4 +261,4 @@ In-patient care Up to --- -_Mirrored from `data/policy_facts/care-health__care-advantage-add-ons-protect-plus-care-shield__brochure.json`. Provenance — every field's verbatim quote and source PDF path is preserved exactly as curated. Do not hand-edit; regenerate via `tools/build_kb_mirror.py`._ +_Mirrored from `40-data/policy_facts/care-health__care-advantage-add-ons-protect-plus-care-shield__brochure.json`. Provenance — every field's verbatim quote and source PDF path is preserved exactly as curated. Do not hand-edit; regenerate via `tools/build_kb_mirror.py`._ diff --git a/kb/policies/care-health__care-advantage.md b/kb/policies/care-health__care-advantage.md index 7038200bc17b051d199e9803557b6087feb41cbe..265cfdf209a295e14fb225571fd0a03291ad4bfe 100644 --- a/kb/policies/care-health__care-advantage.md +++ b/kb/policies/care-health__care-advantage.md @@ -297,4 +297,4 @@ curated_at: 2026-05-14 --- -_Mirrored from `data/policy_facts/care-health__care-advantage.json`. Provenance — every field's verbatim quote and source PDF path is preserved exactly as curated. Do not hand-edit; regenerate via `tools/build_kb_mirror.py`._ +_Mirrored from `40-data/policy_facts/care-health__care-advantage.json`. Provenance — every field's verbatim quote and source PDF path is preserved exactly as curated. Do not hand-edit; regenerate via `tools/build_kb_mirror.py`._ diff --git a/kb/policies/care-health__care-advantage__brochure.md b/kb/policies/care-health__care-advantage__brochure.md index d9e266070e0386f253f51e9e50e9f4708ce9adfa..f27932d16e93679c16e14244383c8df097c8b192 100644 --- a/kb/policies/care-health__care-advantage__brochure.md +++ b/kb/policies/care-health__care-advantage__brochure.md @@ -251,4 +251,4 @@ _no data_ --- -_Mirrored from `data/policy_facts/care-health__care-advantage__brochure.json`. Provenance — every field's verbatim quote and source PDF path is preserved exactly as curated. Do not hand-edit; regenerate via `tools/build_kb_mirror.py`._ +_Mirrored from `40-data/policy_facts/care-health__care-advantage__brochure.json`. Provenance — every field's verbatim quote and source PDF path is preserved exactly as curated. Do not hand-edit; regenerate via `tools/build_kb_mirror.py`._ diff --git a/kb/policies/care-health__care-classic.md b/kb/policies/care-health__care-classic.md index 9c55251b3a1a13cde0af579d4827c19faed49bd4..637a072748ff7d7edfff24b82323ef03a3a02823 100644 --- a/kb/policies/care-health__care-classic.md +++ b/kb/policies/care-health__care-classic.md @@ -297,4 +297,4 @@ curated_at: 2026-05-13 --- -_Mirrored from `data/policy_facts/care-health__care-classic.json`. Provenance — every field's verbatim quote and source PDF path is preserved exactly as curated. Do not hand-edit; regenerate via `tools/build_kb_mirror.py`._ +_Mirrored from `40-data/policy_facts/care-health__care-classic.json`. Provenance — every field's verbatim quote and source PDF path is preserved exactly as curated. Do not hand-edit; regenerate via `tools/build_kb_mirror.py`._ diff --git a/kb/policies/care-health__care-classic__wordings.md b/kb/policies/care-health__care-classic__wordings.md index 7de946d7d7bf34959de626fc1fdba74713e66eea..bf7fd97d51b0279b32c26a2677ae507f769aad61 100644 --- a/kb/policies/care-health__care-classic__wordings.md +++ b/kb/policies/care-health__care-classic__wordings.md @@ -251,4 +251,4 @@ _no data_ --- -_Mirrored from `data/policy_facts/care-health__care-classic__wordings.json`. Provenance — every field's verbatim quote and source PDF path is preserved exactly as curated. Do not hand-edit; regenerate via `tools/build_kb_mirror.py`._ +_Mirrored from `40-data/policy_facts/care-health__care-classic__wordings.json`. Provenance — every field's verbatim quote and source PDF path is preserved exactly as curated. Do not hand-edit; regenerate via `tools/build_kb_mirror.py`._ diff --git a/kb/policies/care-health__care-heart__brochure.md b/kb/policies/care-health__care-heart__brochure.md index cfec53bbc38b836dd063b9c8571d1393308e8c6b..5143b90a826da235e964ee80b7b8592e031babea 100644 --- a/kb/policies/care-health__care-heart__brochure.md +++ b/kb/policies/care-health__care-heart__brochure.md @@ -259,4 +259,4 @@ medical and alternative treatments such as Ayurveda, Unani, Sidha and 30% --- -_Mirrored from `data/policy_facts/care-health__care-heart__brochure.json`. Provenance — every field's verbatim quote and source PDF path is preserved exactly as curated. Do not hand-edit; regenerate via `tools/build_kb_mirror.py`._ +_Mirrored from `40-data/policy_facts/care-health__care-heart__brochure.json`. Provenance — every field's verbatim quote and source PDF path is preserved exactly as curated. Do not hand-edit; regenerate via `tools/build_kb_mirror.py`._ diff --git a/kb/policies/care-health__care-senior.md b/kb/policies/care-health__care-senior.md index 60e97681d688f3890b0b0abbf375fc62050f349c..79460135889ab3694c8da06e7faf06941aa092c2 100644 --- a/kb/policies/care-health__care-senior.md +++ b/kb/policies/care-health__care-senior.md @@ -297,4 +297,4 @@ curated_at: 2026-05-13 --- -_Mirrored from `data/policy_facts/care-health__care-senior.json`. Provenance — every field's verbatim quote and source PDF path is preserved exactly as curated. Do not hand-edit; regenerate via `tools/build_kb_mirror.py`._ +_Mirrored from `40-data/policy_facts/care-health__care-senior.json`. Provenance — every field's verbatim quote and source PDF path is preserved exactly as curated. Do not hand-edit; regenerate via `tools/build_kb_mirror.py`._ diff --git a/kb/policies/care-health__care-senior__brochure.md b/kb/policies/care-health__care-senior__brochure.md index 134cb07c612aa55bc5fda9d43c3ac36185ea0949..a684eb5375b7289c3137159d3ead8d18c432bbed 100644 --- a/kb/policies/care-health__care-senior__brochure.md +++ b/kb/policies/care-health__care-senior__brochure.md @@ -251,4 +251,4 @@ _no data_ --- -_Mirrored from `data/policy_facts/care-health__care-senior__brochure.json`. Provenance — every field's verbatim quote and source PDF path is preserved exactly as curated. Do not hand-edit; regenerate via `tools/build_kb_mirror.py`._ +_Mirrored from `40-data/policy_facts/care-health__care-senior__brochure.json`. Provenance — every field's verbatim quote and source PDF path is preserved exactly as curated. Do not hand-edit; regenerate via `tools/build_kb_mirror.py`._ diff --git a/kb/policies/care-health__care-supreme-enhance.md b/kb/policies/care-health__care-supreme-enhance.md index e7e2f5eaef19c4f771ef6d75d707913b588b2f64..0a3ad788066cf1ab3a093aed141794656bb04f5c 100644 --- a/kb/policies/care-health__care-supreme-enhance.md +++ b/kb/policies/care-health__care-supreme-enhance.md @@ -297,4 +297,4 @@ curated_at: 2026-05-14 --- -_Mirrored from `data/policy_facts/care-health__care-supreme-enhance.json`. Provenance — every field's verbatim quote and source PDF path is preserved exactly as curated. Do not hand-edit; regenerate via `tools/build_kb_mirror.py`._ +_Mirrored from `40-data/policy_facts/care-health__care-supreme-enhance.json`. Provenance — every field's verbatim quote and source PDF path is preserved exactly as curated. Do not hand-edit; regenerate via `tools/build_kb_mirror.py`._ diff --git a/kb/policies/care-health__care-supreme-enhance__wordings.md b/kb/policies/care-health__care-supreme-enhance__wordings.md index f43780973077668a3451889fdedd74c8c81bb455..7211c6c71840c0fda6941860be389433987f57f1 100644 --- a/kb/policies/care-health__care-supreme-enhance__wordings.md +++ b/kb/policies/care-health__care-supreme-enhance__wordings.md @@ -251,4 +251,4 @@ _no data_ --- -_Mirrored from `data/policy_facts/care-health__care-supreme-enhance__wordings.json`. Provenance — every field's verbatim quote and source PDF path is preserved exactly as curated. Do not hand-edit; regenerate via `tools/build_kb_mirror.py`._ +_Mirrored from `40-data/policy_facts/care-health__care-supreme-enhance__wordings.json`. Provenance — every field's verbatim quote and source PDF path is preserved exactly as curated. Do not hand-edit; regenerate via `tools/build_kb_mirror.py`._ diff --git a/kb/policies/care-health__care-supreme__wordings.md b/kb/policies/care-health__care-supreme__wordings.md index cfd969fb427c2a03e597898b9b8e46c2acb25c4c..0321303161d13265b39e2a6e1ec7180e0bfbf76b 100644 --- a/kb/policies/care-health__care-supreme__wordings.md +++ b/kb/policies/care-health__care-supreme__wordings.md @@ -251,4 +251,4 @@ _no data_ --- -_Mirrored from `data/policy_facts/care-health__care-supreme__wordings.json`. Provenance — every field's verbatim quote and source PDF path is preserved exactly as curated. Do not hand-edit; regenerate via `tools/build_kb_mirror.py`._ +_Mirrored from `40-data/policy_facts/care-health__care-supreme__wordings.json`. Provenance — every field's verbatim quote and source PDF path is preserved exactly as curated. Do not hand-edit; regenerate via `tools/build_kb_mirror.py`._ diff --git a/kb/policies/care-health__supreme-enhance__brochure.md b/kb/policies/care-health__supreme-enhance__brochure.md index 8b8fa5f8a086951ec671a81f59ccdfdeb9158e1a..db661734e19817072a45e3cb8160636236863943 100644 --- a/kb/policies/care-health__supreme-enhance__brochure.md +++ b/kb/policies/care-health__supreme-enhance__brochure.md @@ -260,4 +260,4 @@ Room Rent Modification** No Limit --- -_Mirrored from `data/policy_facts/care-health__supreme-enhance__brochure.json`. Provenance — every field's verbatim quote and source PDF path is preserved exactly as curated. Do not hand-edit; regenerate via `tools/build_kb_mirror.py`._ +_Mirrored from `40-data/policy_facts/care-health__supreme-enhance__brochure.json`. Provenance — every field's verbatim quote and source PDF path is preserved exactly as curated. Do not hand-edit; regenerate via `tools/build_kb_mirror.py`._ diff --git a/kb/policies/care-health__ultimate-care__wordings.md b/kb/policies/care-health__ultimate-care__wordings.md index 966f748622324316226d685b2279c144f5c20f18..79ecad3b8d841ed87cb8a1f9a55626b70fb1aebb 100644 --- a/kb/policies/care-health__ultimate-care__wordings.md +++ b/kb/policies/care-health__ultimate-care__wordings.md @@ -251,4 +251,4 @@ _no data_ --- -_Mirrored from `data/policy_facts/care-health__ultimate-care__wordings.json`. Provenance — every field's verbatim quote and source PDF path is preserved exactly as curated. Do not hand-edit; regenerate via `tools/build_kb_mirror.py`._ +_Mirrored from `40-data/policy_facts/care-health__ultimate-care__wordings.json`. Provenance — every field's verbatim quote and source PDF path is preserved exactly as curated. Do not hand-edit; regenerate via `tools/build_kb_mirror.py`._ diff --git a/kb/policies/cholamandalam__arogya-sanjeevani__wordings.md b/kb/policies/cholamandalam__arogya-sanjeevani__wordings.md index 26b3da6c1d672204280054038f4ba15d491b82fc..1de731389058a1d62e076d00ecf3d8d3ea838524 100644 --- a/kb/policies/cholamandalam__arogya-sanjeevani__wordings.md +++ b/kb/policies/cholamandalam__arogya-sanjeevani__wordings.md @@ -251,4 +251,4 @@ _no data_ --- -_Mirrored from `data/policy_facts/cholamandalam__arogya-sanjeevani__wordings.json`. Provenance — every field's verbatim quote and source PDF path is preserved exactly as curated. Do not hand-edit; regenerate via `tools/build_kb_mirror.py`._ +_Mirrored from `40-data/policy_facts/cholamandalam__arogya-sanjeevani__wordings.json`. Provenance — every field's verbatim quote and source PDF path is preserved exactly as curated. Do not hand-edit; regenerate via `tools/build_kb_mirror.py`._ diff --git a/kb/policies/cholamandalam__chola-healthline__wordings.md b/kb/policies/cholamandalam__chola-healthline__wordings.md index b3ba6055fbf18bf98a71d623f6c82eb67022d46a..0cca82b82f5da8fbe945883c7d885fc3481a8bf0 100644 --- a/kb/policies/cholamandalam__chola-healthline__wordings.md +++ b/kb/policies/cholamandalam__chola-healthline__wordings.md @@ -251,4 +251,4 @@ _no data_ --- -_Mirrored from `data/policy_facts/cholamandalam__chola-healthline__wordings.json`. Provenance — every field's verbatim quote and source PDF path is preserved exactly as curated. Do not hand-edit; regenerate via `tools/build_kb_mirror.py`._ +_Mirrored from `40-data/policy_facts/cholamandalam__chola-healthline__wordings.json`. Provenance — every field's verbatim quote and source PDF path is preserved exactly as curated. Do not hand-edit; regenerate via `tools/build_kb_mirror.py`._ diff --git a/kb/policies/cholamandalam__critical-healthline__wordings.md b/kb/policies/cholamandalam__critical-healthline__wordings.md index 3102276ea5085d778260077dc2d72c527b829b8a..e26ff4fd34e61004c26daca16ac069c27c3a88a1 100644 --- a/kb/policies/cholamandalam__critical-healthline__wordings.md +++ b/kb/policies/cholamandalam__critical-healthline__wordings.md @@ -251,4 +251,4 @@ _no data_ --- -_Mirrored from `data/policy_facts/cholamandalam__critical-healthline__wordings.json`. Provenance — every field's verbatim quote and source PDF path is preserved exactly as curated. Do not hand-edit; regenerate via `tools/build_kb_mirror.py`._ +_Mirrored from `40-data/policy_facts/cholamandalam__critical-healthline__wordings.json`. Provenance — every field's verbatim quote and source PDF path is preserved exactly as curated. Do not hand-edit; regenerate via `tools/build_kb_mirror.py`._ diff --git a/kb/policies/cholamandalam__flexi-health-supreme__wordings.md b/kb/policies/cholamandalam__flexi-health-supreme__wordings.md index 4a1617b465888a5d94e010ba6c79edb32c122cea..0573427a7452db9aba25c65cef473aad687e08b2 100644 --- a/kb/policies/cholamandalam__flexi-health-supreme__wordings.md +++ b/kb/policies/cholamandalam__flexi-health-supreme__wordings.md @@ -251,4 +251,4 @@ _no data_ --- -_Mirrored from `data/policy_facts/cholamandalam__flexi-health-supreme__wordings.json`. Provenance — every field's verbatim quote and source PDF path is preserved exactly as curated. Do not hand-edit; regenerate via `tools/build_kb_mirror.py`._ +_Mirrored from `40-data/policy_facts/cholamandalam__flexi-health-supreme__wordings.json`. Provenance — every field's verbatim quote and source PDF path is preserved exactly as curated. Do not hand-edit; regenerate via `tools/build_kb_mirror.py`._ diff --git a/kb/policies/cholamandalam__flexi-health__wordings.md b/kb/policies/cholamandalam__flexi-health__wordings.md index 914ce6a7ddb84e19c30eaaf4e329397ebcaae306..04a897071046058f6802e32e19902183e68cbda6 100644 --- a/kb/policies/cholamandalam__flexi-health__wordings.md +++ b/kb/policies/cholamandalam__flexi-health__wordings.md @@ -251,4 +251,4 @@ _no data_ --- -_Mirrored from `data/policy_facts/cholamandalam__flexi-health__wordings.json`. Provenance — every field's verbatim quote and source PDF path is preserved exactly as curated. Do not hand-edit; regenerate via `tools/build_kb_mirror.py`._ +_Mirrored from `40-data/policy_facts/cholamandalam__flexi-health__wordings.json`. Provenance — every field's verbatim quote and source PDF path is preserved exactly as curated. Do not hand-edit; regenerate via `tools/build_kb_mirror.py`._ diff --git a/kb/policies/cholamandalam__super-topup__wordings.md b/kb/policies/cholamandalam__super-topup__wordings.md index ae491cefb95eeb9684c3ecd449de4f232bdd4ce8..438f817c6a3f2c92d4fd10264c2a1482bc9fd8cd 100644 --- a/kb/policies/cholamandalam__super-topup__wordings.md +++ b/kb/policies/cholamandalam__super-topup__wordings.md @@ -251,4 +251,4 @@ _no data_ --- -_Mirrored from `data/policy_facts/cholamandalam__super-topup__wordings.json`. Provenance — every field's verbatim quote and source PDF path is preserved exactly as curated. Do not hand-edit; regenerate via `tools/build_kb_mirror.py`._ +_Mirrored from `40-data/policy_facts/cholamandalam__super-topup__wordings.json`. Provenance — every field's verbatim quote and source PDF path is preserved exactly as curated. Do not hand-edit; regenerate via `tools/build_kb_mirror.py`._ diff --git a/kb/policies/go-digit__digit-complete-care__wordings.md b/kb/policies/go-digit__digit-complete-care__wordings.md index 48690709ff801a21cfee2cb301e52bc66f2f3bc7..0c7b7ee0c3dc904dea1569d19cb355a9c3fbc36a 100644 --- a/kb/policies/go-digit__digit-complete-care__wordings.md +++ b/kb/policies/go-digit__digit-complete-care__wordings.md @@ -251,4 +251,4 @@ _no data_ --- -_Mirrored from `data/policy_facts/go-digit__digit-complete-care__wordings.json`. Provenance — every field's verbatim quote and source PDF path is preserved exactly as curated. Do not hand-edit; regenerate via `tools/build_kb_mirror.py`._ +_Mirrored from `40-data/policy_facts/go-digit__digit-complete-care__wordings.json`. Provenance — every field's verbatim quote and source PDF path is preserved exactly as curated. Do not hand-edit; regenerate via `tools/build_kb_mirror.py`._ diff --git a/kb/policies/go-digit__digit-health-insurance__wordings.md b/kb/policies/go-digit__digit-health-insurance__wordings.md index 14f672abe8a414e0e26448655a8dead893e9680c..d1c0d808a659292bc2b727fa6016601956fa0ab5 100644 --- a/kb/policies/go-digit__digit-health-insurance__wordings.md +++ b/kb/policies/go-digit__digit-health-insurance__wordings.md @@ -251,4 +251,4 @@ _no data_ --- -_Mirrored from `data/policy_facts/go-digit__digit-health-insurance__wordings.json`. Provenance — every field's verbatim quote and source PDF path is preserved exactly as curated. Do not hand-edit; regenerate via `tools/build_kb_mirror.py`._ +_Mirrored from `40-data/policy_facts/go-digit__digit-health-insurance__wordings.json`. Provenance — every field's verbatim quote and source PDF path is preserved exactly as curated. Do not hand-edit; regenerate via `tools/build_kb_mirror.py`._ diff --git a/kb/policies/go-digit__digit-top-up__wordings.md b/kb/policies/go-digit__digit-top-up__wordings.md index 36dd3c5e7f264db21c5f11a045f819ca696a4518..2ac1556a90ac7922ef7f4213ba73b79149852b08 100644 --- a/kb/policies/go-digit__digit-top-up__wordings.md +++ b/kb/policies/go-digit__digit-top-up__wordings.md @@ -251,4 +251,4 @@ _no data_ --- -_Mirrored from `data/policy_facts/go-digit__digit-top-up__wordings.json`. Provenance — every field's verbatim quote and source PDF path is preserved exactly as curated. Do not hand-edit; regenerate via `tools/build_kb_mirror.py`._ +_Mirrored from `40-data/policy_facts/go-digit__digit-top-up__wordings.json`. Provenance — every field's verbatim quote and source PDF path is preserved exactly as curated. Do not hand-edit; regenerate via `tools/build_kb_mirror.py`._ diff --git a/kb/policies/hdfc-ergo__energy-diabetes-hypertension__wordings.md b/kb/policies/hdfc-ergo__energy-diabetes-hypertension__wordings.md index ef3629f86a629b0e8a68489ab4c5b54cf02eb119..cbf4236bfee58f59337d1f6670c521d43f10d0c6 100644 --- a/kb/policies/hdfc-ergo__energy-diabetes-hypertension__wordings.md +++ b/kb/policies/hdfc-ergo__energy-diabetes-hypertension__wordings.md @@ -257,4 +257,4 @@ On Renewal of this Policy with the Company without a break, a sum equal to 10% --- -_Mirrored from `data/policy_facts/hdfc-ergo__energy-diabetes-hypertension__wordings.json`. Provenance — every field's verbatim quote and source PDF path is preserved exactly as curated. Do not hand-edit; regenerate via `tools/build_kb_mirror.py`._ +_Mirrored from `40-data/policy_facts/hdfc-ergo__energy-diabetes-hypertension__wordings.json`. Provenance — every field's verbatim quote and source PDF path is preserved exactly as curated. Do not hand-edit; regenerate via `tools/build_kb_mirror.py`._ diff --git a/kb/policies/hdfc-ergo__energy.md b/kb/policies/hdfc-ergo__energy.md index 859d3c1b7752c2caaae9d21423dd5b42faf8c247..2e25ad75666bbefffc6f09885b66eca4172f4629 100644 --- a/kb/policies/hdfc-ergo__energy.md +++ b/kb/policies/hdfc-ergo__energy.md @@ -297,4 +297,4 @@ curated_at: 2026-05-14 --- -_Mirrored from `data/policy_facts/hdfc-ergo__energy.json`. Provenance — every field's verbatim quote and source PDF path is preserved exactly as curated. Do not hand-edit; regenerate via `tools/build_kb_mirror.py`._ +_Mirrored from `40-data/policy_facts/hdfc-ergo__energy.json`. Provenance — every field's verbatim quote and source PDF path is preserved exactly as curated. Do not hand-edit; regenerate via `tools/build_kb_mirror.py`._ diff --git a/kb/policies/hdfc-ergo__group-health-insurance__wordings.md b/kb/policies/hdfc-ergo__group-health-insurance__wordings.md index 84aa8882c426f8740703ba4ee9a4406ac1c4ae04..2b2bc39c4c31f13271a3715a64e148e61d9ddc28 100644 --- a/kb/policies/hdfc-ergo__group-health-insurance__wordings.md +++ b/kb/policies/hdfc-ergo__group-health-insurance__wordings.md @@ -259,4 +259,4 @@ under this cover shall reduce the S --- -_Mirrored from `data/policy_facts/hdfc-ergo__group-health-insurance__wordings.json`. Provenance — every field's verbatim quote and source PDF path is preserved exactly as curated. Do not hand-edit; regenerate via `tools/build_kb_mirror.py`._ +_Mirrored from `40-data/policy_facts/hdfc-ergo__group-health-insurance__wordings.json`. Provenance — every field's verbatim quote and source PDF path is preserved exactly as curated. Do not hand-edit; regenerate via `tools/build_kb_mirror.py`._ diff --git a/kb/policies/hdfc-ergo__my-health-medisure-prime.md b/kb/policies/hdfc-ergo__my-health-medisure-prime.md index c13fa08a8b6a518466b2dfbed544ef8dac54b19d..2fd42dd2ae3fb288cd3dbf464e9deab90a8cc74f 100644 --- a/kb/policies/hdfc-ergo__my-health-medisure-prime.md +++ b/kb/policies/hdfc-ergo__my-health-medisure-prime.md @@ -295,4 +295,4 @@ curated_at: 2026-05-14 --- -_Mirrored from `data/policy_facts/hdfc-ergo__my-health-medisure-prime.json`. Provenance — every field's verbatim quote and source PDF path is preserved exactly as curated. Do not hand-edit; regenerate via `tools/build_kb_mirror.py`._ +_Mirrored from `40-data/policy_facts/hdfc-ergo__my-health-medisure-prime.json`. Provenance — every field's verbatim quote and source PDF path is preserved exactly as curated. Do not hand-edit; regenerate via `tools/build_kb_mirror.py`._ diff --git a/kb/policies/hdfc-ergo__my-health-medisure-prime__wordings.md b/kb/policies/hdfc-ergo__my-health-medisure-prime__wordings.md index dbf0e10909b91cc1ee54304c56165ed63fe6feee..c06ac32a5d5863aab90b9ff6cf79944ffd87c739 100644 --- a/kb/policies/hdfc-ergo__my-health-medisure-prime__wordings.md +++ b/kb/policies/hdfc-ergo__my-health-medisure-prime__wordings.md @@ -249,4 +249,4 @@ _no data_ --- -_Mirrored from `data/policy_facts/hdfc-ergo__my-health-medisure-prime__wordings.json`. Provenance — every field's verbatim quote and source PDF path is preserved exactly as curated. Do not hand-edit; regenerate via `tools/build_kb_mirror.py`._ +_Mirrored from `40-data/policy_facts/hdfc-ergo__my-health-medisure-prime__wordings.json`. Provenance — every field's verbatim quote and source PDF path is preserved exactly as curated. Do not hand-edit; regenerate via `tools/build_kb_mirror.py`._ diff --git a/kb/policies/hdfc-ergo__my-health-sampoorna-suraksha.md b/kb/policies/hdfc-ergo__my-health-sampoorna-suraksha.md index 66158b1b3a44dd012f9da34322900bfd6ac21260..64bc538b566800c58a3612cb11e8183ef04fe747 100644 --- a/kb/policies/hdfc-ergo__my-health-sampoorna-suraksha.md +++ b/kb/policies/hdfc-ergo__my-health-sampoorna-suraksha.md @@ -297,4 +297,4 @@ curated_at: 2026-05-14 --- -_Mirrored from `data/policy_facts/hdfc-ergo__my-health-sampoorna-suraksha.json`. Provenance — every field's verbatim quote and source PDF path is preserved exactly as curated. Do not hand-edit; regenerate via `tools/build_kb_mirror.py`._ +_Mirrored from `40-data/policy_facts/hdfc-ergo__my-health-sampoorna-suraksha.json`. Provenance — every field's verbatim quote and source PDF path is preserved exactly as curated. Do not hand-edit; regenerate via `tools/build_kb_mirror.py`._ diff --git a/kb/policies/hdfc-ergo__my-health-sampoorna-suraksha__brochure.md b/kb/policies/hdfc-ergo__my-health-sampoorna-suraksha__brochure.md index 80c6435ebfae426d0c0c67d41fab08798a7bc5c3..d96f57fa4efc28792ae9f1de2061d008060075d9 100644 --- a/kb/policies/hdfc-ergo__my-health-sampoorna-suraksha__brochure.md +++ b/kb/policies/hdfc-ergo__my-health-sampoorna-suraksha__brochure.md @@ -251,4 +251,4 @@ _no data_ --- -_Mirrored from `data/policy_facts/hdfc-ergo__my-health-sampoorna-suraksha__brochure.json`. Provenance — every field's verbatim quote and source PDF path is preserved exactly as curated. Do not hand-edit; regenerate via `tools/build_kb_mirror.py`._ +_Mirrored from `40-data/policy_facts/hdfc-ergo__my-health-sampoorna-suraksha__brochure.json`. Provenance — every field's verbatim quote and source PDF path is preserved exactly as curated. Do not hand-edit; regenerate via `tools/build_kb_mirror.py`._ diff --git a/kb/policies/hdfc-ergo__my-health-suraksha.md b/kb/policies/hdfc-ergo__my-health-suraksha.md index 641105676476a9c49bea8f14f193754dfe23e512..394784eddebe006a89983e4cb78d3475c03fafbe 100644 --- a/kb/policies/hdfc-ergo__my-health-suraksha.md +++ b/kb/policies/hdfc-ergo__my-health-suraksha.md @@ -297,4 +297,4 @@ curated_at: 2026-05-14 --- -_Mirrored from `data/policy_facts/hdfc-ergo__my-health-suraksha.json`. Provenance — every field's verbatim quote and source PDF path is preserved exactly as curated. Do not hand-edit; regenerate via `tools/build_kb_mirror.py`._ +_Mirrored from `40-data/policy_facts/hdfc-ergo__my-health-suraksha.json`. Provenance — every field's verbatim quote and source PDF path is preserved exactly as curated. Do not hand-edit; regenerate via `tools/build_kb_mirror.py`._ diff --git a/kb/policies/hdfc-ergo__my-health-suraksha__brochure.md b/kb/policies/hdfc-ergo__my-health-suraksha__brochure.md index 61a190d352b78ff22bf8c6da1d9a6cb8ec5e9f1b..286b8b13a694861e2325efe4339479940285ff94 100644 --- a/kb/policies/hdfc-ergo__my-health-suraksha__brochure.md +++ b/kb/policies/hdfc-ergo__my-health-suraksha__brochure.md @@ -251,4 +251,4 @@ _no data_ --- -_Mirrored from `data/policy_facts/hdfc-ergo__my-health-suraksha__brochure.json`. Provenance — every field's verbatim quote and source PDF path is preserved exactly as curated. Do not hand-edit; regenerate via `tools/build_kb_mirror.py`._ +_Mirrored from `40-data/policy_facts/hdfc-ergo__my-health-suraksha__brochure.json`. Provenance — every field's verbatim quote and source PDF path is preserved exactly as curated. Do not hand-edit; regenerate via `tools/build_kb_mirror.py`._ diff --git a/kb/policies/hdfc-ergo__my-health-women-suraksha.md b/kb/policies/hdfc-ergo__my-health-women-suraksha.md index 18a5c786df6665de37835eb47d9d0ce239654059..3c4b7f9c07ca359b376b60706d9c4e36506b0063 100644 --- a/kb/policies/hdfc-ergo__my-health-women-suraksha.md +++ b/kb/policies/hdfc-ergo__my-health-women-suraksha.md @@ -297,4 +297,4 @@ curated_at: 2026-05-14 --- -_Mirrored from `data/policy_facts/hdfc-ergo__my-health-women-suraksha.json`. Provenance — every field's verbatim quote and source PDF path is preserved exactly as curated. Do not hand-edit; regenerate via `tools/build_kb_mirror.py`._ +_Mirrored from `40-data/policy_facts/hdfc-ergo__my-health-women-suraksha.json`. Provenance — every field's verbatim quote and source PDF path is preserved exactly as curated. Do not hand-edit; regenerate via `tools/build_kb_mirror.py`._ diff --git a/kb/policies/hdfc-ergo__optima-enhance.md b/kb/policies/hdfc-ergo__optima-enhance.md index 5c794c156e23f9c11f27d173fd2367e7acbeb7b5..44f8bed4a3bd2fd2f3746b73099d93f353e31327 100644 --- a/kb/policies/hdfc-ergo__optima-enhance.md +++ b/kb/policies/hdfc-ergo__optima-enhance.md @@ -295,4 +295,4 @@ curated_at: 2026-05-14 --- -_Mirrored from `data/policy_facts/hdfc-ergo__optima-enhance.json`. Provenance — every field's verbatim quote and source PDF path is preserved exactly as curated. Do not hand-edit; regenerate via `tools/build_kb_mirror.py`._ +_Mirrored from `40-data/policy_facts/hdfc-ergo__optima-enhance.json`. Provenance — every field's verbatim quote and source PDF path is preserved exactly as curated. Do not hand-edit; regenerate via `tools/build_kb_mirror.py`._ diff --git a/kb/policies/hdfc-ergo__optima-enhance__wordings.md b/kb/policies/hdfc-ergo__optima-enhance__wordings.md index 4a701ac6ad23ae257411251b63b467c1996dad0c..460c141a3edfa2f59503122e02b0e2862a8cd3ce 100644 --- a/kb/policies/hdfc-ergo__optima-enhance__wordings.md +++ b/kb/policies/hdfc-ergo__optima-enhance__wordings.md @@ -249,4 +249,4 @@ _no data_ --- -_Mirrored from `data/policy_facts/hdfc-ergo__optima-enhance__wordings.json`. Provenance — every field's verbatim quote and source PDF path is preserved exactly as curated. Do not hand-edit; regenerate via `tools/build_kb_mirror.py`._ +_Mirrored from `40-data/policy_facts/hdfc-ergo__optima-enhance__wordings.json`. Provenance — every field's verbatim quote and source PDF path is preserved exactly as curated. Do not hand-edit; regenerate via `tools/build_kb_mirror.py`._ diff --git a/kb/policies/hdfc-ergo__optima-plus.md b/kb/policies/hdfc-ergo__optima-plus.md index 3a5b6526d175372b188cb80d7c2b20d19556fd71..0ea5f377ec115c47f97cdb8c85adf98e85e8f272 100644 --- a/kb/policies/hdfc-ergo__optima-plus.md +++ b/kb/policies/hdfc-ergo__optima-plus.md @@ -297,4 +297,4 @@ curated_at: 2026-05-14 --- -_Mirrored from `data/policy_facts/hdfc-ergo__optima-plus.json`. Provenance — every field's verbatim quote and source PDF path is preserved exactly as curated. Do not hand-edit; regenerate via `tools/build_kb_mirror.py`._ +_Mirrored from `40-data/policy_facts/hdfc-ergo__optima-plus.json`. Provenance — every field's verbatim quote and source PDF path is preserved exactly as curated. Do not hand-edit; regenerate via `tools/build_kb_mirror.py`._ diff --git a/kb/policies/hdfc-ergo__optima-plus__wordings.md b/kb/policies/hdfc-ergo__optima-plus__wordings.md index ae0c8729eafbeed73eac1923222481af9ace7354..cf591a746f97cb6517757c0dc65c75e3651b755f 100644 --- a/kb/policies/hdfc-ergo__optima-plus__wordings.md +++ b/kb/policies/hdfc-ergo__optima-plus__wordings.md @@ -251,4 +251,4 @@ _no data_ --- -_Mirrored from `data/policy_facts/hdfc-ergo__optima-plus__wordings.json`. Provenance — every field's verbatim quote and source PDF path is preserved exactly as curated. Do not hand-edit; regenerate via `tools/build_kb_mirror.py`._ +_Mirrored from `40-data/policy_facts/hdfc-ergo__optima-plus__wordings.json`. Provenance — every field's verbatim quote and source PDF path is preserved exactly as curated. Do not hand-edit; regenerate via `tools/build_kb_mirror.py`._ diff --git a/kb/policies/hdfc-ergo__optima-restore.md b/kb/policies/hdfc-ergo__optima-restore.md index 60aff021c8716b279c4737c92cc6166fb19b8a80..b0bc0510ae6eb82048408f299257d1e4ee5f671f 100644 --- a/kb/policies/hdfc-ergo__optima-restore.md +++ b/kb/policies/hdfc-ergo__optima-restore.md @@ -297,4 +297,4 @@ curated_at: 2026-05-13 --- -_Mirrored from `data/policy_facts/hdfc-ergo__optima-restore.json`. Provenance — every field's verbatim quote and source PDF path is preserved exactly as curated. Do not hand-edit; regenerate via `tools/build_kb_mirror.py`._ +_Mirrored from `40-data/policy_facts/hdfc-ergo__optima-restore.json`. Provenance — every field's verbatim quote and source PDF path is preserved exactly as curated. Do not hand-edit; regenerate via `tools/build_kb_mirror.py`._ diff --git a/kb/policies/hdfc-ergo__optima-restore__brochure.md b/kb/policies/hdfc-ergo__optima-restore__brochure.md index 5da7f23504348524f006f84ccdd008754cd1acac..92a75ff12b681bf948688f79b78d61ea6379eca2 100644 --- a/kb/policies/hdfc-ergo__optima-restore__brochure.md +++ b/kb/policies/hdfc-ergo__optima-restore__brochure.md @@ -251,4 +251,4 @@ _no data_ --- -_Mirrored from `data/policy_facts/hdfc-ergo__optima-restore__brochure.json`. Provenance — every field's verbatim quote and source PDF path is preserved exactly as curated. Do not hand-edit; regenerate via `tools/build_kb_mirror.py`._ +_Mirrored from `40-data/policy_facts/hdfc-ergo__optima-restore__brochure.json`. Provenance — every field's verbatim quote and source PDF path is preserved exactly as curated. Do not hand-edit; regenerate via `tools/build_kb_mirror.py`._ diff --git a/kb/policies/hdfc-ergo__optima-secure-older-variant.md b/kb/policies/hdfc-ergo__optima-secure-older-variant.md index fbef466569916a0c2fbc1aed8a573a563f7a3274..d1cf9f59745d460c756677d933d0c0d36be26ab6 100644 --- a/kb/policies/hdfc-ergo__optima-secure-older-variant.md +++ b/kb/policies/hdfc-ergo__optima-secure-older-variant.md @@ -297,4 +297,4 @@ curated_at: 2026-05-14 --- -_Mirrored from `data/policy_facts/hdfc-ergo__optima-secure-older-variant.json`. Provenance — every field's verbatim quote and source PDF path is preserved exactly as curated. Do not hand-edit; regenerate via `tools/build_kb_mirror.py`._ +_Mirrored from `40-data/policy_facts/hdfc-ergo__optima-secure-older-variant.json`. Provenance — every field's verbatim quote and source PDF path is preserved exactly as curated. Do not hand-edit; regenerate via `tools/build_kb_mirror.py`._ diff --git a/kb/policies/hdfc-ergo__optima-secure.md b/kb/policies/hdfc-ergo__optima-secure.md index 22617263b192f47f172ff8d25852b336c7eae19b..f4d36670c4b12b6e84acf94c1e9473c2b2640de0 100644 --- a/kb/policies/hdfc-ergo__optima-secure.md +++ b/kb/policies/hdfc-ergo__optima-secure.md @@ -297,4 +297,4 @@ curated_at: 2026-05-13 --- -_Mirrored from `data/policy_facts/hdfc-ergo__optima-secure.json`. Provenance — every field's verbatim quote and source PDF path is preserved exactly as curated. Do not hand-edit; regenerate via `tools/build_kb_mirror.py`._ +_Mirrored from `40-data/policy_facts/hdfc-ergo__optima-secure.json`. Provenance — every field's verbatim quote and source PDF path is preserved exactly as curated. Do not hand-edit; regenerate via `tools/build_kb_mirror.py`._ diff --git a/kb/policies/hdfc-ergo__total-health-plan.md b/kb/policies/hdfc-ergo__total-health-plan.md index adbb687c490f3eb5abc4856065d32f5b823221a4..e5317b8e4bb103f55d5a3ddd85f377eb0abf48e7 100644 --- a/kb/policies/hdfc-ergo__total-health-plan.md +++ b/kb/policies/hdfc-ergo__total-health-plan.md @@ -297,4 +297,4 @@ curated_at: 2026-05-14 --- -_Mirrored from `data/policy_facts/hdfc-ergo__total-health-plan.json`. Provenance — every field's verbatim quote and source PDF path is preserved exactly as curated. Do not hand-edit; regenerate via `tools/build_kb_mirror.py`._ +_Mirrored from `40-data/policy_facts/hdfc-ergo__total-health-plan.json`. Provenance — every field's verbatim quote and source PDF path is preserved exactly as curated. Do not hand-edit; regenerate via `tools/build_kb_mirror.py`._ diff --git a/kb/policies/hdfc-ergo__total-health-plan__wordings.md b/kb/policies/hdfc-ergo__total-health-plan__wordings.md index a32f8c556e18754cd614e24e4efdb3033c82920d..55563035f81af0ca9f0e474313169875e09810a8 100644 --- a/kb/policies/hdfc-ergo__total-health-plan__wordings.md +++ b/kb/policies/hdfc-ergo__total-health-plan__wordings.md @@ -251,4 +251,4 @@ _no data_ --- -_Mirrored from `data/policy_facts/hdfc-ergo__total-health-plan__wordings.json`. Provenance — every field's verbatim quote and source PDF path is preserved exactly as curated. Do not hand-edit; regenerate via `tools/build_kb_mirror.py`._ +_Mirrored from `40-data/policy_facts/hdfc-ergo__total-health-plan__wordings.json`. Provenance — every field's verbatim quote and source PDF path is preserved exactly as curated. Do not hand-edit; regenerate via `tools/build_kb_mirror.py`._ diff --git a/kb/policies/icici-lombard__arogya-sanjeevani.md b/kb/policies/icici-lombard__arogya-sanjeevani.md index 8f07f9593468395bba279315fc806766a3d91070..8c935fd58fbc6aceb9ffc3c3f4e8d87cba84c209 100644 --- a/kb/policies/icici-lombard__arogya-sanjeevani.md +++ b/kb/policies/icici-lombard__arogya-sanjeevani.md @@ -297,4 +297,4 @@ curated_at: 2026-05-14 --- -_Mirrored from `data/policy_facts/icici-lombard__arogya-sanjeevani.json`. Provenance — every field's verbatim quote and source PDF path is preserved exactly as curated. Do not hand-edit; regenerate via `tools/build_kb_mirror.py`._ +_Mirrored from `40-data/policy_facts/icici-lombard__arogya-sanjeevani.json`. Provenance — every field's verbatim quote and source PDF path is preserved exactly as curated. Do not hand-edit; regenerate via `tools/build_kb_mirror.py`._ diff --git a/kb/policies/icici-lombard__arogya-sanjeevani__wordings.md b/kb/policies/icici-lombard__arogya-sanjeevani__wordings.md index ae60e66ead56405ac2f704e85bbbac18cdc72b5b..37636b00100409e1cfa2b26c05966ffbb004262c 100644 --- a/kb/policies/icici-lombard__arogya-sanjeevani__wordings.md +++ b/kb/policies/icici-lombard__arogya-sanjeevani__wordings.md @@ -251,4 +251,4 @@ _no data_ --- -_Mirrored from `data/policy_facts/icici-lombard__arogya-sanjeevani__wordings.json`. Provenance — every field's verbatim quote and source PDF path is preserved exactly as curated. Do not hand-edit; regenerate via `tools/build_kb_mirror.py`._ +_Mirrored from `40-data/policy_facts/icici-lombard__arogya-sanjeevani__wordings.json`. Provenance — every field's verbatim quote and source PDF path is preserved exactly as curated. Do not hand-edit; regenerate via `tools/build_kb_mirror.py`._ diff --git a/kb/policies/icici-lombard__complete-health-insurance-health-shield__wordings.md b/kb/policies/icici-lombard__complete-health-insurance-health-shield__wordings.md index 18ccb50fb3a2d05ff85649eba1126844a06502e3..6a1b22b63e802f9b6907b3b6d2a37282d0a570c3 100644 --- a/kb/policies/icici-lombard__complete-health-insurance-health-shield__wordings.md +++ b/kb/policies/icici-lombard__complete-health-insurance-health-shield__wordings.md @@ -256,4 +256,4 @@ and/or has equipped operation theatre where surgical Treatment normally taken on --- -_Mirrored from `data/policy_facts/icici-lombard__complete-health-insurance-health-shield__wordings.json`. Provenance — every field's verbatim quote and source PDF path is preserved exactly as curated. Do not hand-edit; regenerate via `tools/build_kb_mirror.py`._ +_Mirrored from `40-data/policy_facts/icici-lombard__complete-health-insurance-health-shield__wordings.json`. Provenance — every field's verbatim quote and source PDF path is preserved exactly as curated. Do not hand-edit; regenerate via `tools/build_kb_mirror.py`._ diff --git a/kb/policies/icici-lombard__complete-health-insurance.md b/kb/policies/icici-lombard__complete-health-insurance.md index 05b59dfcac2ee66b61fe363200e803daac7b8916..67cf6f533d2a010b1dc6b4c955e670943b40e099 100644 --- a/kb/policies/icici-lombard__complete-health-insurance.md +++ b/kb/policies/icici-lombard__complete-health-insurance.md @@ -297,4 +297,4 @@ curated_at: 2026-05-13 --- -_Mirrored from `data/policy_facts/icici-lombard__complete-health-insurance.json`. Provenance — every field's verbatim quote and source PDF path is preserved exactly as curated. Do not hand-edit; regenerate via `tools/build_kb_mirror.py`._ +_Mirrored from `40-data/policy_facts/icici-lombard__complete-health-insurance.json`. Provenance — every field's verbatim quote and source PDF path is preserved exactly as curated. Do not hand-edit; regenerate via `tools/build_kb_mirror.py`._ diff --git a/kb/policies/icici-lombard__complete-health-umbrella.md b/kb/policies/icici-lombard__complete-health-umbrella.md index a2fd749f1bdc03e99b8fda3b11139a461626f862..eca4f6d52d204cc353d02d4cb2a73badfaab56f9 100644 --- a/kb/policies/icici-lombard__complete-health-umbrella.md +++ b/kb/policies/icici-lombard__complete-health-umbrella.md @@ -297,4 +297,4 @@ curated_at: 2026-05-14 --- -_Mirrored from `data/policy_facts/icici-lombard__complete-health-umbrella.json`. Provenance — every field's verbatim quote and source PDF path is preserved exactly as curated. Do not hand-edit; regenerate via `tools/build_kb_mirror.py`._ +_Mirrored from `40-data/policy_facts/icici-lombard__complete-health-umbrella.json`. Provenance — every field's verbatim quote and source PDF path is preserved exactly as curated. Do not hand-edit; regenerate via `tools/build_kb_mirror.py`._ diff --git a/kb/policies/icici-lombard__elevate.md b/kb/policies/icici-lombard__elevate.md index 5af13d33fbdaac20d0930255e573d36028d4af49..620fb878c40c2f3b5684b5b7d21482aa14ce8a7f 100644 --- a/kb/policies/icici-lombard__elevate.md +++ b/kb/policies/icici-lombard__elevate.md @@ -297,4 +297,4 @@ curated_at: 2026-05-13 --- -_Mirrored from `data/policy_facts/icici-lombard__elevate.json`. Provenance — every field's verbatim quote and source PDF path is preserved exactly as curated. Do not hand-edit; regenerate via `tools/build_kb_mirror.py`._ +_Mirrored from `40-data/policy_facts/icici-lombard__elevate.json`. Provenance — every field's verbatim quote and source PDF path is preserved exactly as curated. Do not hand-edit; regenerate via `tools/build_kb_mirror.py`._ diff --git a/kb/policies/icici-lombard__health-advantedge.md b/kb/policies/icici-lombard__health-advantedge.md index 3e3a2c443b0df23de3589f2789a2efc594604505..bdd35582fa3cd974ffa2ee85f9b32b63b32f8cf4 100644 --- a/kb/policies/icici-lombard__health-advantedge.md +++ b/kb/policies/icici-lombard__health-advantedge.md @@ -297,4 +297,4 @@ curated_at: 2026-05-14 --- -_Mirrored from `data/policy_facts/icici-lombard__health-advantedge.json`. Provenance — every field's verbatim quote and source PDF path is preserved exactly as curated. Do not hand-edit; regenerate via `tools/build_kb_mirror.py`._ +_Mirrored from `40-data/policy_facts/icici-lombard__health-advantedge.json`. Provenance — every field's verbatim quote and source PDF path is preserved exactly as curated. Do not hand-edit; regenerate via `tools/build_kb_mirror.py`._ diff --git a/kb/policies/icici-lombard__health-advantedge__wordings.md b/kb/policies/icici-lombard__health-advantedge__wordings.md index 537a9a84fe5b5f9c3b83a313f8b9134db1790394..dc888d1924c18447fbc3f9849cbec504356e8bb6 100644 --- a/kb/policies/icici-lombard__health-advantedge__wordings.md +++ b/kb/policies/icici-lombard__health-advantedge__wordings.md @@ -251,4 +251,4 @@ _no data_ --- -_Mirrored from `data/policy_facts/icici-lombard__health-advantedge__wordings.json`. Provenance — every field's verbatim quote and source PDF path is preserved exactly as curated. Do not hand-edit; regenerate via `tools/build_kb_mirror.py`._ +_Mirrored from `40-data/policy_facts/icici-lombard__health-advantedge__wordings.json`. Provenance — every field's verbatim quote and source PDF path is preserved exactly as curated. Do not hand-edit; regenerate via `tools/build_kb_mirror.py`._ diff --git a/kb/policies/icici-lombard__health-booster-top-up__wordings.md b/kb/policies/icici-lombard__health-booster-top-up__wordings.md index 8d3260b587fac22448d3c17a8e2df3de242447ac..fd7a317b6dc6559614e0b9d3251162f3d4d6ca0e 100644 --- a/kb/policies/icici-lombard__health-booster-top-up__wordings.md +++ b/kb/policies/icici-lombard__health-booster-top-up__wordings.md @@ -262,4 +262,4 @@ For each completed and continuous Policy --- -_Mirrored from `data/policy_facts/icici-lombard__health-booster-top-up__wordings.json`. Provenance — every field's verbatim quote and source PDF path is preserved exactly as curated. Do not hand-edit; regenerate via `tools/build_kb_mirror.py`._ +_Mirrored from `40-data/policy_facts/icici-lombard__health-booster-top-up__wordings.json`. Provenance — every field's verbatim quote and source PDF path is preserved exactly as curated. Do not hand-edit; regenerate via `tools/build_kb_mirror.py`._ diff --git a/kb/policies/icici-lombard__health-booster.md b/kb/policies/icici-lombard__health-booster.md index 9e3e833cdcd281da8be1cc963c1cfc048feef9ea..e883f61feaa57465702d977f4c5d36c7b5a45e6a 100644 --- a/kb/policies/icici-lombard__health-booster.md +++ b/kb/policies/icici-lombard__health-booster.md @@ -297,4 +297,4 @@ curated_at: 2026-05-14 --- -_Mirrored from `data/policy_facts/icici-lombard__health-booster.json`. Provenance — every field's verbatim quote and source PDF path is preserved exactly as curated. Do not hand-edit; regenerate via `tools/build_kb_mirror.py`._ +_Mirrored from `40-data/policy_facts/icici-lombard__health-booster.json`. Provenance — every field's verbatim quote and source PDF path is preserved exactly as curated. Do not hand-edit; regenerate via `tools/build_kb_mirror.py`._ diff --git a/kb/policies/icici-lombard__health-elite-plus.md b/kb/policies/icici-lombard__health-elite-plus.md index eadf3f75ed602635e93f16b858f337808214fc36..3d7b9f903212a9ccca2a5e674620c6b78928a285 100644 --- a/kb/policies/icici-lombard__health-elite-plus.md +++ b/kb/policies/icici-lombard__health-elite-plus.md @@ -297,4 +297,4 @@ curated_at: 2026-05-14 --- -_Mirrored from `data/policy_facts/icici-lombard__health-elite-plus.json`. Provenance — every field's verbatim quote and source PDF path is preserved exactly as curated. Do not hand-edit; regenerate via `tools/build_kb_mirror.py`._ +_Mirrored from `40-data/policy_facts/icici-lombard__health-elite-plus.json`. Provenance — every field's verbatim quote and source PDF path is preserved exactly as curated. Do not hand-edit; regenerate via `tools/build_kb_mirror.py`._ diff --git a/kb/policies/icici-lombard__health-elite-plus__wordings.md b/kb/policies/icici-lombard__health-elite-plus__wordings.md index 9d659e79c0f5fb79002f32e8d68c2a543a0cd3a7..6c04d217d47f85aded58f2bcd495a75e12a76396 100644 --- a/kb/policies/icici-lombard__health-elite-plus__wordings.md +++ b/kb/policies/icici-lombard__health-elite-plus__wordings.md @@ -251,4 +251,4 @@ _no data_ --- -_Mirrored from `data/policy_facts/icici-lombard__health-elite-plus__wordings.json`. Provenance — every field's verbatim quote and source PDF path is preserved exactly as curated. Do not hand-edit; regenerate via `tools/build_kb_mirror.py`._ +_Mirrored from `40-data/policy_facts/icici-lombard__health-elite-plus__wordings.json`. Provenance — every field's verbatim quote and source PDF path is preserved exactly as curated. Do not hand-edit; regenerate via `tools/build_kb_mirror.py`._ diff --git a/kb/policies/icici-lombard__health-shield-360-retail__cis.md b/kb/policies/icici-lombard__health-shield-360-retail__cis.md index 64cae6fe71e79f6f3cc311d46a5a83eca79bbbac..948004db0ff7fda29ccbb2bc3a6ffbd06f4e23cd 100644 --- a/kb/policies/icici-lombard__health-shield-360-retail__cis.md +++ b/kb/policies/icici-lombard__health-shield-360-retail__cis.md @@ -262,4 +262,4 @@ Cumulative Bonus of 20% --- -_Mirrored from `data/policy_facts/icici-lombard__health-shield-360-retail__cis.json`. Provenance — every field's verbatim quote and source PDF path is preserved exactly as curated. Do not hand-edit; regenerate via `tools/build_kb_mirror.py`._ +_Mirrored from `40-data/policy_facts/icici-lombard__health-shield-360-retail__cis.json`. Provenance — every field's verbatim quote and source PDF path is preserved exactly as curated. Do not hand-edit; regenerate via `tools/build_kb_mirror.py`._ diff --git a/kb/policies/icici-lombard__health-shield-360-retail__wordings.md b/kb/policies/icici-lombard__health-shield-360-retail__wordings.md index a33a996db1f4105dd58da24f9b5f15a80ea3b379..65222d1c345831632d891cfab329bbb7e2d184fe 100644 --- a/kb/policies/icici-lombard__health-shield-360-retail__wordings.md +++ b/kb/policies/icici-lombard__health-shield-360-retail__wordings.md @@ -261,4 +261,4 @@ We will provide a Cumulative Bonus of 20% --- -_Mirrored from `data/policy_facts/icici-lombard__health-shield-360-retail__wordings.json`. Provenance — every field's verbatim quote and source PDF path is preserved exactly as curated. Do not hand-edit; regenerate via `tools/build_kb_mirror.py`._ +_Mirrored from `40-data/policy_facts/icici-lombard__health-shield-360-retail__wordings.json`. Provenance — every field's verbatim quote and source PDF path is preserved exactly as curated. Do not hand-edit; regenerate via `tools/build_kb_mirror.py`._ diff --git a/kb/policies/icici-lombard__health-shield-360.md b/kb/policies/icici-lombard__health-shield-360.md index ebc358c0ccebbac89b4c659734c825f08d7bba10..2e343f808e486eb83f882bda6c307e183cc04f2e 100644 --- a/kb/policies/icici-lombard__health-shield-360.md +++ b/kb/policies/icici-lombard__health-shield-360.md @@ -297,4 +297,4 @@ curated_at: 2026-05-13 --- -_Mirrored from `data/policy_facts/icici-lombard__health-shield-360.json`. Provenance — every field's verbatim quote and source PDF path is preserved exactly as curated. Do not hand-edit; regenerate via `tools/build_kb_mirror.py`._ +_Mirrored from `40-data/policy_facts/icici-lombard__health-shield-360.json`. Provenance — every field's verbatim quote and source PDF path is preserved exactly as curated. Do not hand-edit; regenerate via `tools/build_kb_mirror.py`._ diff --git a/kb/policies/iffco-tokio__critical-illness-benefit__wordings.md b/kb/policies/iffco-tokio__critical-illness-benefit__wordings.md index 799437c7709a7b7edc3330ef2715348ccc21e344..1876e72becd267eb2bbffcd9d8656ba9b4aa4284 100644 --- a/kb/policies/iffco-tokio__critical-illness-benefit__wordings.md +++ b/kb/policies/iffco-tokio__critical-illness-benefit__wordings.md @@ -251,4 +251,4 @@ _no data_ --- -_Mirrored from `data/policy_facts/iffco-tokio__critical-illness-benefit__wordings.json`. Provenance — every field's verbatim quote and source PDF path is preserved exactly as curated. Do not hand-edit; regenerate via `tools/build_kb_mirror.py`._ +_Mirrored from `40-data/policy_facts/iffco-tokio__critical-illness-benefit__wordings.json`. Provenance — every field's verbatim quote and source PDF path is preserved exactly as curated. Do not hand-edit; regenerate via `tools/build_kb_mirror.py`._ diff --git a/kb/policies/iffco-tokio__essential-health-plan__wordings.md b/kb/policies/iffco-tokio__essential-health-plan__wordings.md index 6c3c06c2b7fef087bd445dc91f2a59a5c9c903f1..b2d16ade95c97965df10314359114198cd6e9f83 100644 --- a/kb/policies/iffco-tokio__essential-health-plan__wordings.md +++ b/kb/policies/iffco-tokio__essential-health-plan__wordings.md @@ -251,4 +251,4 @@ _no data_ --- -_Mirrored from `data/policy_facts/iffco-tokio__essential-health-plan__wordings.json`. Provenance — every field's verbatim quote and source PDF path is preserved exactly as curated. Do not hand-edit; regenerate via `tools/build_kb_mirror.py`._ +_Mirrored from `40-data/policy_facts/iffco-tokio__essential-health-plan__wordings.json`. Provenance — every field's verbatim quote and source PDF path is preserved exactly as curated. Do not hand-edit; regenerate via `tools/build_kb_mirror.py`._ diff --git a/kb/policies/iffco-tokio__family-health-protector__wordings.md b/kb/policies/iffco-tokio__family-health-protector__wordings.md index b861eb63935dad1e802f3682ad2c83359bce8171..3f9046b6b9af6784729e72b71be9d08079a39e82 100644 --- a/kb/policies/iffco-tokio__family-health-protector__wordings.md +++ b/kb/policies/iffco-tokio__family-health-protector__wordings.md @@ -251,4 +251,4 @@ _no data_ --- -_Mirrored from `data/policy_facts/iffco-tokio__family-health-protector__wordings.json`. Provenance — every field's verbatim quote and source PDF path is preserved exactly as curated. Do not hand-edit; regenerate via `tools/build_kb_mirror.py`._ +_Mirrored from `40-data/policy_facts/iffco-tokio__family-health-protector__wordings.json`. Provenance — every field's verbatim quote and source PDF path is preserved exactly as curated. Do not hand-edit; regenerate via `tools/build_kb_mirror.py`._ diff --git a/kb/policies/iffco-tokio__health-protector-assure__wordings.md b/kb/policies/iffco-tokio__health-protector-assure__wordings.md index ca8af9b772751795655e9d8b1a09d82b2453801e..25b637f70d60e7129f94597f9879fdc56ce14dd1 100644 --- a/kb/policies/iffco-tokio__health-protector-assure__wordings.md +++ b/kb/policies/iffco-tokio__health-protector-assure__wordings.md @@ -251,4 +251,4 @@ _no data_ --- -_Mirrored from `data/policy_facts/iffco-tokio__health-protector-assure__wordings.json`. Provenance — every field's verbatim quote and source PDF path is preserved exactly as curated. Do not hand-edit; regenerate via `tools/build_kb_mirror.py`._ +_Mirrored from `40-data/policy_facts/iffco-tokio__health-protector-assure__wordings.json`. Provenance — every field's verbatim quote and source PDF path is preserved exactly as curated. Do not hand-edit; regenerate via `tools/build_kb_mirror.py`._ diff --git a/kb/policies/iffco-tokio__health-protector-plus__wordings.md b/kb/policies/iffco-tokio__health-protector-plus__wordings.md index 8e3b2e7aa750fd2af876633bea89043520a32fa0..7471d00def6b8cb424b8552e5d05e9df3d048583 100644 --- a/kb/policies/iffco-tokio__health-protector-plus__wordings.md +++ b/kb/policies/iffco-tokio__health-protector-plus__wordings.md @@ -251,4 +251,4 @@ _no data_ --- -_Mirrored from `data/policy_facts/iffco-tokio__health-protector-plus__wordings.json`. Provenance — every field's verbatim quote and source PDF path is preserved exactly as curated. Do not hand-edit; regenerate via `tools/build_kb_mirror.py`._ +_Mirrored from `40-data/policy_facts/iffco-tokio__health-protector-plus__wordings.json`. Provenance — every field's verbatim quote and source PDF path is preserved exactly as curated. Do not hand-edit; regenerate via `tools/build_kb_mirror.py`._ diff --git a/kb/policies/iffco-tokio__individual-health-protector__wordings.md b/kb/policies/iffco-tokio__individual-health-protector__wordings.md index d28f772226017b87d516c12c9430bfedd39f34ce..01c6112d28f124e34cdef92e5eb9c0b3b879ed05 100644 --- a/kb/policies/iffco-tokio__individual-health-protector__wordings.md +++ b/kb/policies/iffco-tokio__individual-health-protector__wordings.md @@ -251,4 +251,4 @@ _no data_ --- -_Mirrored from `data/policy_facts/iffco-tokio__individual-health-protector__wordings.json`. Provenance — every field's verbatim quote and source PDF path is preserved exactly as curated. Do not hand-edit; regenerate via `tools/build_kb_mirror.py`._ +_Mirrored from `40-data/policy_facts/iffco-tokio__individual-health-protector__wordings.json`. Provenance — every field's verbatim quote and source PDF path is preserved exactly as curated. Do not hand-edit; regenerate via `tools/build_kb_mirror.py`._ diff --git a/kb/policies/manipalcigna__prohealth-insurance-all-variants__wordings.md b/kb/policies/manipalcigna__prohealth-insurance-all-variants__wordings.md index 94c7a30ae4b55627ecfd79389306c8e180f94967..fa378e683135c62a68f4fb11f13c46255bf9e652 100644 --- a/kb/policies/manipalcigna__prohealth-insurance-all-variants__wordings.md +++ b/kb/policies/manipalcigna__prohealth-insurance-all-variants__wordings.md @@ -272,4 +272,4 @@ Up to 50 % --- -_Mirrored from `data/policy_facts/manipalcigna__prohealth-insurance-all-variants__wordings.json`. Provenance — every field's verbatim quote and source PDF path is preserved exactly as curated. Do not hand-edit; regenerate via `tools/build_kb_mirror.py`._ +_Mirrored from `40-data/policy_facts/manipalcigna__prohealth-insurance-all-variants__wordings.json`. Provenance — every field's verbatim quote and source PDF path is preserved exactly as curated. Do not hand-edit; regenerate via `tools/build_kb_mirror.py`._ diff --git a/kb/policies/manipalcigna__prohealth-prime.md b/kb/policies/manipalcigna__prohealth-prime.md index bfe852564ec1c402e47f1935b0a8621d708671c3..76505dee46443269a6007d919179047180137f2e 100644 --- a/kb/policies/manipalcigna__prohealth-prime.md +++ b/kb/policies/manipalcigna__prohealth-prime.md @@ -297,4 +297,4 @@ curated_at: 2026-05-13 --- -_Mirrored from `data/policy_facts/manipalcigna__prohealth-prime.json`. Provenance — every field's verbatim quote and source PDF path is preserved exactly as curated. Do not hand-edit; regenerate via `tools/build_kb_mirror.py`._ +_Mirrored from `40-data/policy_facts/manipalcigna__prohealth-prime.json`. Provenance — every field's verbatim quote and source PDF path is preserved exactly as curated. Do not hand-edit; regenerate via `tools/build_kb_mirror.py`._ diff --git a/kb/policies/manipalcigna__prohealth-select.md b/kb/policies/manipalcigna__prohealth-select.md index 2aa5e5437853ef12e5208e40e73bb4e3210b75c3..6e1efc49b73fdeaab076798dada86e3dcc548dc9 100644 --- a/kb/policies/manipalcigna__prohealth-select.md +++ b/kb/policies/manipalcigna__prohealth-select.md @@ -295,4 +295,4 @@ curated_at: 2026-05-14 --- -_Mirrored from `data/policy_facts/manipalcigna__prohealth-select.json`. Provenance — every field's verbatim quote and source PDF path is preserved exactly as curated. Do not hand-edit; regenerate via `tools/build_kb_mirror.py`._ +_Mirrored from `40-data/policy_facts/manipalcigna__prohealth-select.json`. Provenance — every field's verbatim quote and source PDF path is preserved exactly as curated. Do not hand-edit; regenerate via `tools/build_kb_mirror.py`._ diff --git a/kb/policies/manipalcigna__prohealth-select__wordings.md b/kb/policies/manipalcigna__prohealth-select__wordings.md index 6e272d32d5e3d6168add0cb32f5f345bbbf49c78..492f6df15aafe38446d8daad01c5dedc81d35f92 100644 --- a/kb/policies/manipalcigna__prohealth-select__wordings.md +++ b/kb/policies/manipalcigna__prohealth-select__wordings.md @@ -251,4 +251,4 @@ _no data_ --- -_Mirrored from `data/policy_facts/manipalcigna__prohealth-select__wordings.json`. Provenance — every field's verbatim quote and source PDF path is preserved exactly as curated. Do not hand-edit; regenerate via `tools/build_kb_mirror.py`._ +_Mirrored from `40-data/policy_facts/manipalcigna__prohealth-select__wordings.json`. Provenance — every field's verbatim quote and source PDF path is preserved exactly as curated. Do not hand-edit; regenerate via `tools/build_kb_mirror.py`._ diff --git a/kb/policies/manipalcigna__sarvah-param.md b/kb/policies/manipalcigna__sarvah-param.md index 642e83b4f776aa15fc9bb28501987dca3c0efbbf..e52d399997399a85106cc77fa73d6f5e9351c493 100644 --- a/kb/policies/manipalcigna__sarvah-param.md +++ b/kb/policies/manipalcigna__sarvah-param.md @@ -295,4 +295,4 @@ curated_at: 2026-05-14 --- -_Mirrored from `data/policy_facts/manipalcigna__sarvah-param.json`. Provenance — every field's verbatim quote and source PDF path is preserved exactly as curated. Do not hand-edit; regenerate via `tools/build_kb_mirror.py`._ +_Mirrored from `40-data/policy_facts/manipalcigna__sarvah-param.json`. Provenance — every field's verbatim quote and source PDF path is preserved exactly as curated. Do not hand-edit; regenerate via `tools/build_kb_mirror.py`._ diff --git a/kb/policies/manipalcigna__sarvah-param__brochure.md b/kb/policies/manipalcigna__sarvah-param__brochure.md index aa0572e7b501cca82823d0f19919f5e532865f95..722e0ced4f8e06e3fa4ddee829025a642b5f0887 100644 --- a/kb/policies/manipalcigna__sarvah-param__brochure.md +++ b/kb/policies/manipalcigna__sarvah-param__brochure.md @@ -251,4 +251,4 @@ _no data_ --- -_Mirrored from `data/policy_facts/manipalcigna__sarvah-param__brochure.json`. Provenance — every field's verbatim quote and source PDF path is preserved exactly as curated. Do not hand-edit; regenerate via `tools/build_kb_mirror.py`._ +_Mirrored from `40-data/policy_facts/manipalcigna__sarvah-param__brochure.json`. Provenance — every field's verbatim quote and source PDF path is preserved exactly as curated. Do not hand-edit; regenerate via `tools/build_kb_mirror.py`._ diff --git a/kb/policies/manipalcigna__sarvah-param__wordings.md b/kb/policies/manipalcigna__sarvah-param__wordings.md index 05c6b85c8160c1d6c69a669364fda2766006e595..1f88b81be2e19484c36e7a87a8fa4eaf3679f9b4 100644 --- a/kb/policies/manipalcigna__sarvah-param__wordings.md +++ b/kb/policies/manipalcigna__sarvah-param__wordings.md @@ -251,4 +251,4 @@ _no data_ --- -_Mirrored from `data/policy_facts/manipalcigna__sarvah-param__wordings.json`. Provenance — every field's verbatim quote and source PDF path is preserved exactly as curated. Do not hand-edit; regenerate via `tools/build_kb_mirror.py`._ +_Mirrored from `40-data/policy_facts/manipalcigna__sarvah-param__wordings.json`. Provenance — every field's verbatim quote and source PDF path is preserved exactly as curated. Do not hand-edit; regenerate via `tools/build_kb_mirror.py`._ diff --git a/kb/policies/national-insurance__arogya-sanjeevani__cis.md b/kb/policies/national-insurance__arogya-sanjeevani__cis.md index ccdf8bc48ffff360fa9beb36ce6f0d605cd30914..d4ee85a4a8852ce754e685e035ff6838a1804674 100644 --- a/kb/policies/national-insurance__arogya-sanjeevani__cis.md +++ b/kb/policies/national-insurance__arogya-sanjeevani__cis.md @@ -251,4 +251,4 @@ _no data_ --- -_Mirrored from `data/policy_facts/national-insurance__arogya-sanjeevani__cis.json`. Provenance — every field's verbatim quote and source PDF path is preserved exactly as curated. Do not hand-edit; regenerate via `tools/build_kb_mirror.py`._ +_Mirrored from `40-data/policy_facts/national-insurance__arogya-sanjeevani__cis.json`. Provenance — every field's verbatim quote and source PDF path is preserved exactly as curated. Do not hand-edit; regenerate via `tools/build_kb_mirror.py`._ diff --git a/kb/policies/national-insurance__arogya-sanjeevani__prospectus.md b/kb/policies/national-insurance__arogya-sanjeevani__prospectus.md index cd70f96a2b6ba387390db014c2a6b7d668cade91..fa05cd653885cebf09bb0d7755a9b020929ad1f8 100644 --- a/kb/policies/national-insurance__arogya-sanjeevani__prospectus.md +++ b/kb/policies/national-insurance__arogya-sanjeevani__prospectus.md @@ -251,4 +251,4 @@ _no data_ --- -_Mirrored from `data/policy_facts/national-insurance__arogya-sanjeevani__prospectus.json`. Provenance — every field's verbatim quote and source PDF path is preserved exactly as curated. Do not hand-edit; regenerate via `tools/build_kb_mirror.py`._ +_Mirrored from `40-data/policy_facts/national-insurance__arogya-sanjeevani__prospectus.json`. Provenance — every field's verbatim quote and source PDF path is preserved exactly as curated. Do not hand-edit; regenerate via `tools/build_kb_mirror.py`._ diff --git a/kb/policies/national-insurance__arogya-sanjeevani__wordings.md b/kb/policies/national-insurance__arogya-sanjeevani__wordings.md index 9b1a888625ec26388779b5e88723a5f575130232..465246ef009de683409ae7c524b6973fc508ebf3 100644 --- a/kb/policies/national-insurance__arogya-sanjeevani__wordings.md +++ b/kb/policies/national-insurance__arogya-sanjeevani__wordings.md @@ -251,4 +251,4 @@ _no data_ --- -_Mirrored from `data/policy_facts/national-insurance__arogya-sanjeevani__wordings.json`. Provenance — every field's verbatim quote and source PDF path is preserved exactly as curated. Do not hand-edit; regenerate via `tools/build_kb_mirror.py`._ +_Mirrored from `40-data/policy_facts/national-insurance__arogya-sanjeevani__wordings.json`. Provenance — every field's verbatim quote and source PDF path is preserved exactly as curated. Do not hand-edit; regenerate via `tools/build_kb_mirror.py`._ diff --git a/kb/policies/national-insurance__bob-national-health__cis.md b/kb/policies/national-insurance__bob-national-health__cis.md index 0719c4bd46ae621448dbc1a651973ed4c62403ed..6b3f52e43a2690278df002f2fdf4e03f53d7c31d 100644 --- a/kb/policies/national-insurance__bob-national-health__cis.md +++ b/kb/policies/national-insurance__bob-national-health__cis.md @@ -251,4 +251,4 @@ _no data_ --- -_Mirrored from `data/policy_facts/national-insurance__bob-national-health__cis.json`. Provenance — every field's verbatim quote and source PDF path is preserved exactly as curated. Do not hand-edit; regenerate via `tools/build_kb_mirror.py`._ +_Mirrored from `40-data/policy_facts/national-insurance__bob-national-health__cis.json`. Provenance — every field's verbatim quote and source PDF path is preserved exactly as curated. Do not hand-edit; regenerate via `tools/build_kb_mirror.py`._ diff --git a/kb/policies/national-insurance__bob-national-health__prospectus.md b/kb/policies/national-insurance__bob-national-health__prospectus.md index 01c044b1459eb80847f9b624df1f4a0a0286e5b7..5b4e2b86463fa8f2e1e6e30b05c2206f695ec3f1 100644 --- a/kb/policies/national-insurance__bob-national-health__prospectus.md +++ b/kb/policies/national-insurance__bob-national-health__prospectus.md @@ -251,4 +251,4 @@ _no data_ --- -_Mirrored from `data/policy_facts/national-insurance__bob-national-health__prospectus.json`. Provenance — every field's verbatim quote and source PDF path is preserved exactly as curated. Do not hand-edit; regenerate via `tools/build_kb_mirror.py`._ +_Mirrored from `40-data/policy_facts/national-insurance__bob-national-health__prospectus.json`. Provenance — every field's verbatim quote and source PDF path is preserved exactly as curated. Do not hand-edit; regenerate via `tools/build_kb_mirror.py`._ diff --git a/kb/policies/national-insurance__bob-national-health__wordings.md b/kb/policies/national-insurance__bob-national-health__wordings.md index f769afacef5089ef17ebaeaa0916009e60a28bb6..a957a79957d3cdfa9b89b180b497e210449260fd 100644 --- a/kb/policies/national-insurance__bob-national-health__wordings.md +++ b/kb/policies/national-insurance__bob-national-health__wordings.md @@ -251,4 +251,4 @@ _no data_ --- -_Mirrored from `data/policy_facts/national-insurance__bob-national-health__wordings.json`. Provenance — every field's verbatim quote and source PDF path is preserved exactly as curated. Do not hand-edit; regenerate via `tools/build_kb_mirror.py`._ +_Mirrored from `40-data/policy_facts/national-insurance__bob-national-health__wordings.json`. Provenance — every field's verbatim quote and source PDF path is preserved exactly as curated. Do not hand-edit; regenerate via `tools/build_kb_mirror.py`._ diff --git a/kb/policies/national-insurance__national-critical-illness__prospectus.md b/kb/policies/national-insurance__national-critical-illness__prospectus.md index 5e98ae64eebcd1c1b05dd425a4fa8769cf0648e0..98f36943fddcf081be12b3e9965f231c264acd92 100644 --- a/kb/policies/national-insurance__national-critical-illness__prospectus.md +++ b/kb/policies/national-insurance__national-critical-illness__prospectus.md @@ -251,4 +251,4 @@ _no data_ --- -_Mirrored from `data/policy_facts/national-insurance__national-critical-illness__prospectus.json`. Provenance — every field's verbatim quote and source PDF path is preserved exactly as curated. Do not hand-edit; regenerate via `tools/build_kb_mirror.py`._ +_Mirrored from `40-data/policy_facts/national-insurance__national-critical-illness__prospectus.json`. Provenance — every field's verbatim quote and source PDF path is preserved exactly as curated. Do not hand-edit; regenerate via `tools/build_kb_mirror.py`._ diff --git a/kb/policies/national-insurance__national-critical-illness__wordings.md b/kb/policies/national-insurance__national-critical-illness__wordings.md index 732b67ebdc58a650a75a0136da221ad09909b455..4183cb02057e33540b6ceadc6c16d7fe795f475b 100644 --- a/kb/policies/national-insurance__national-critical-illness__wordings.md +++ b/kb/policies/national-insurance__national-critical-illness__wordings.md @@ -251,4 +251,4 @@ _no data_ --- -_Mirrored from `data/policy_facts/national-insurance__national-critical-illness__wordings.json`. Provenance — every field's verbatim quote and source PDF path is preserved exactly as curated. Do not hand-edit; regenerate via `tools/build_kb_mirror.py`._ +_Mirrored from `40-data/policy_facts/national-insurance__national-critical-illness__wordings.json`. Provenance — every field's verbatim quote and source PDF path is preserved exactly as curated. Do not hand-edit; regenerate via `tools/build_kb_mirror.py`._ diff --git a/kb/policies/national-insurance__national-hospi-cash__cis.md b/kb/policies/national-insurance__national-hospi-cash__cis.md index b5a45713d936fa33452a9d9025bb378402bef2e9..9f7fdc7f58975f6046539b7bff95355be91281d3 100644 --- a/kb/policies/national-insurance__national-hospi-cash__cis.md +++ b/kb/policies/national-insurance__national-hospi-cash__cis.md @@ -251,4 +251,4 @@ _no data_ --- -_Mirrored from `data/policy_facts/national-insurance__national-hospi-cash__cis.json`. Provenance — every field's verbatim quote and source PDF path is preserved exactly as curated. Do not hand-edit; regenerate via `tools/build_kb_mirror.py`._ +_Mirrored from `40-data/policy_facts/national-insurance__national-hospi-cash__cis.json`. Provenance — every field's verbatim quote and source PDF path is preserved exactly as curated. Do not hand-edit; regenerate via `tools/build_kb_mirror.py`._ diff --git a/kb/policies/national-insurance__national-mediclaim-plus__cis.md b/kb/policies/national-insurance__national-mediclaim-plus__cis.md index 9a09e5a009adf3a7fb66f5301d8cc25b0975918a..04e829533b213461e8f12ca3fe18fda64ce54bf8 100644 --- a/kb/policies/national-insurance__national-mediclaim-plus__cis.md +++ b/kb/policies/national-insurance__national-mediclaim-plus__cis.md @@ -251,4 +251,4 @@ _no data_ --- -_Mirrored from `data/policy_facts/national-insurance__national-mediclaim-plus__cis.json`. Provenance — every field's verbatim quote and source PDF path is preserved exactly as curated. Do not hand-edit; regenerate via `tools/build_kb_mirror.py`._ +_Mirrored from `40-data/policy_facts/national-insurance__national-mediclaim-plus__cis.json`. Provenance — every field's verbatim quote and source PDF path is preserved exactly as curated. Do not hand-edit; regenerate via `tools/build_kb_mirror.py`._ diff --git a/kb/policies/national-insurance__national-mediclaim-plus__prospectus.md b/kb/policies/national-insurance__national-mediclaim-plus__prospectus.md index 5f8273ebf6a9a2ac8fcd8cd4da1cbdb16bb9f8e7..38ac327941713c975b6d74dc0d53872ee25bdcc6 100644 --- a/kb/policies/national-insurance__national-mediclaim-plus__prospectus.md +++ b/kb/policies/national-insurance__national-mediclaim-plus__prospectus.md @@ -251,4 +251,4 @@ _no data_ --- -_Mirrored from `data/policy_facts/national-insurance__national-mediclaim-plus__prospectus.json`. Provenance — every field's verbatim quote and source PDF path is preserved exactly as curated. Do not hand-edit; regenerate via `tools/build_kb_mirror.py`._ +_Mirrored from `40-data/policy_facts/national-insurance__national-mediclaim-plus__prospectus.json`. Provenance — every field's verbatim quote and source PDF path is preserved exactly as curated. Do not hand-edit; regenerate via `tools/build_kb_mirror.py`._ diff --git a/kb/policies/national-insurance__national-mediclaim-plus__wordings.md b/kb/policies/national-insurance__national-mediclaim-plus__wordings.md index 14c58e5fdb5026eb3274cd822243554380c23138..2c838a8e8ae6220a8011f4d7b218bf9f0ea09b68 100644 --- a/kb/policies/national-insurance__national-mediclaim-plus__wordings.md +++ b/kb/policies/national-insurance__national-mediclaim-plus__wordings.md @@ -251,4 +251,4 @@ _no data_ --- -_Mirrored from `data/policy_facts/national-insurance__national-mediclaim-plus__wordings.json`. Provenance — every field's verbatim quote and source PDF path is preserved exactly as curated. Do not hand-edit; regenerate via `tools/build_kb_mirror.py`._ +_Mirrored from `40-data/policy_facts/national-insurance__national-mediclaim-plus__wordings.json`. Provenance — every field's verbatim quote and source PDF path is preserved exactly as curated. Do not hand-edit; regenerate via `tools/build_kb_mirror.py`._ diff --git a/kb/policies/national-insurance__national-mediclaim__cis.md b/kb/policies/national-insurance__national-mediclaim__cis.md index d2de651f7e8f0277d6f59885f62a3364bfdf8f96..29ebb0429f20c6567c79302294d9dff81e115f7e 100644 --- a/kb/policies/national-insurance__national-mediclaim__cis.md +++ b/kb/policies/national-insurance__national-mediclaim__cis.md @@ -251,4 +251,4 @@ _no data_ --- -_Mirrored from `data/policy_facts/national-insurance__national-mediclaim__cis.json`. Provenance — every field's verbatim quote and source PDF path is preserved exactly as curated. Do not hand-edit; regenerate via `tools/build_kb_mirror.py`._ +_Mirrored from `40-data/policy_facts/national-insurance__national-mediclaim__cis.json`. Provenance — every field's verbatim quote and source PDF path is preserved exactly as curated. Do not hand-edit; regenerate via `tools/build_kb_mirror.py`._ diff --git a/kb/policies/national-insurance__national-mediclaim__wordings.md b/kb/policies/national-insurance__national-mediclaim__wordings.md index 7bfa46c252ab00a51e09c6f49c77bd80ab0b8ee9..5116ce9d99e0c229e82f4a3fe62adadfc5dc1b54 100644 --- a/kb/policies/national-insurance__national-mediclaim__wordings.md +++ b/kb/policies/national-insurance__national-mediclaim__wordings.md @@ -251,4 +251,4 @@ _no data_ --- -_Mirrored from `data/policy_facts/national-insurance__national-mediclaim__wordings.json`. Provenance — every field's verbatim quote and source PDF path is preserved exactly as curated. Do not hand-edit; regenerate via `tools/build_kb_mirror.py`._ +_Mirrored from `40-data/policy_facts/national-insurance__national-mediclaim__wordings.json`. Provenance — every field's verbatim quote and source PDF path is preserved exactly as curated. Do not hand-edit; regenerate via `tools/build_kb_mirror.py`._ diff --git a/kb/policies/national-insurance__national-parivar-plus__cis.md b/kb/policies/national-insurance__national-parivar-plus__cis.md index 801e562f149343938600449563277183a22ef975..6b82d0f6acc7a2ae3dd5eba1730352a4146f1e2c 100644 --- a/kb/policies/national-insurance__national-parivar-plus__cis.md +++ b/kb/policies/national-insurance__national-parivar-plus__cis.md @@ -251,4 +251,4 @@ _no data_ --- -_Mirrored from `data/policy_facts/national-insurance__national-parivar-plus__cis.json`. Provenance — every field's verbatim quote and source PDF path is preserved exactly as curated. Do not hand-edit; regenerate via `tools/build_kb_mirror.py`._ +_Mirrored from `40-data/policy_facts/national-insurance__national-parivar-plus__cis.json`. Provenance — every field's verbatim quote and source PDF path is preserved exactly as curated. Do not hand-edit; regenerate via `tools/build_kb_mirror.py`._ diff --git a/kb/policies/national-insurance__national-parivar-plus__prospectus.md b/kb/policies/national-insurance__national-parivar-plus__prospectus.md index 73f7c34cebb0c4ba8decf86b958f4bc9d1e0f625..544ef66fe9e3b628e5618ffbca8b6c45c790e944 100644 --- a/kb/policies/national-insurance__national-parivar-plus__prospectus.md +++ b/kb/policies/national-insurance__national-parivar-plus__prospectus.md @@ -251,4 +251,4 @@ _no data_ --- -_Mirrored from `data/policy_facts/national-insurance__national-parivar-plus__prospectus.json`. Provenance — every field's verbatim quote and source PDF path is preserved exactly as curated. Do not hand-edit; regenerate via `tools/build_kb_mirror.py`._ +_Mirrored from `40-data/policy_facts/national-insurance__national-parivar-plus__prospectus.json`. Provenance — every field's verbatim quote and source PDF path is preserved exactly as curated. Do not hand-edit; regenerate via `tools/build_kb_mirror.py`._ diff --git a/kb/policies/national-insurance__national-parivar-plus__wordings.md b/kb/policies/national-insurance__national-parivar-plus__wordings.md index b313e1cbdb68743f004c6d9b99457845672038ed..a9c41632c9adbd0e3f6cbbe20a605eb6de5e4710 100644 --- a/kb/policies/national-insurance__national-parivar-plus__wordings.md +++ b/kb/policies/national-insurance__national-parivar-plus__wordings.md @@ -251,4 +251,4 @@ _no data_ --- -_Mirrored from `data/policy_facts/national-insurance__national-parivar-plus__wordings.json`. Provenance — every field's verbatim quote and source PDF path is preserved exactly as curated. Do not hand-edit; regenerate via `tools/build_kb_mirror.py`._ +_Mirrored from `40-data/policy_facts/national-insurance__national-parivar-plus__wordings.json`. Provenance — every field's verbatim quote and source PDF path is preserved exactly as curated. Do not hand-edit; regenerate via `tools/build_kb_mirror.py`._ diff --git a/kb/policies/national-insurance__national-senior-citizen__cis.md b/kb/policies/national-insurance__national-senior-citizen__cis.md index 64b88ed545caa24e824bca293e00e28f980c6381..0afde64cb0da9f9a26038b6df2cf5cff9339ae4b 100644 --- a/kb/policies/national-insurance__national-senior-citizen__cis.md +++ b/kb/policies/national-insurance__national-senior-citizen__cis.md @@ -251,4 +251,4 @@ _no data_ --- -_Mirrored from `data/policy_facts/national-insurance__national-senior-citizen__cis.json`. Provenance — every field's verbatim quote and source PDF path is preserved exactly as curated. Do not hand-edit; regenerate via `tools/build_kb_mirror.py`._ +_Mirrored from `40-data/policy_facts/national-insurance__national-senior-citizen__cis.json`. Provenance — every field's verbatim quote and source PDF path is preserved exactly as curated. Do not hand-edit; regenerate via `tools/build_kb_mirror.py`._ diff --git a/kb/policies/national-insurance__national-senior-citizen__prospectus.md b/kb/policies/national-insurance__national-senior-citizen__prospectus.md index 20242986c9c341d64593243043dcd327edff738a..338b5c714aeb2115a92eb29fa422f591dba23106 100644 --- a/kb/policies/national-insurance__national-senior-citizen__prospectus.md +++ b/kb/policies/national-insurance__national-senior-citizen__prospectus.md @@ -251,4 +251,4 @@ _no data_ --- -_Mirrored from `data/policy_facts/national-insurance__national-senior-citizen__prospectus.json`. Provenance — every field's verbatim quote and source PDF path is preserved exactly as curated. Do not hand-edit; regenerate via `tools/build_kb_mirror.py`._ +_Mirrored from `40-data/policy_facts/national-insurance__national-senior-citizen__prospectus.json`. Provenance — every field's verbatim quote and source PDF path is preserved exactly as curated. Do not hand-edit; regenerate via `tools/build_kb_mirror.py`._ diff --git a/kb/policies/national-insurance__national-senior-citizen__wordings.md b/kb/policies/national-insurance__national-senior-citizen__wordings.md index 2efa7cb928cfe141b4e8e2333734c0ced900dd7a..3fbc4d282aa4a39b4054824014d233364cc56695 100644 --- a/kb/policies/national-insurance__national-senior-citizen__wordings.md +++ b/kb/policies/national-insurance__national-senior-citizen__wordings.md @@ -251,4 +251,4 @@ _no data_ --- -_Mirrored from `data/policy_facts/national-insurance__national-senior-citizen__wordings.json`. Provenance — every field's verbatim quote and source PDF path is preserved exactly as curated. Do not hand-edit; regenerate via `tools/build_kb_mirror.py`._ +_Mirrored from `40-data/policy_facts/national-insurance__national-senior-citizen__wordings.json`. Provenance — every field's verbatim quote and source PDF path is preserved exactly as curated. Do not hand-edit; regenerate via `tools/build_kb_mirror.py`._ diff --git a/kb/policies/national-insurance__national-super-top-up__cis.md b/kb/policies/national-insurance__national-super-top-up__cis.md index 51b2bbb46d80899a1890bc8239bdf07318d9deb3..ab7191fa8f211583c24a1edf4f91d7b5054251a9 100644 --- a/kb/policies/national-insurance__national-super-top-up__cis.md +++ b/kb/policies/national-insurance__national-super-top-up__cis.md @@ -251,4 +251,4 @@ _no data_ --- -_Mirrored from `data/policy_facts/national-insurance__national-super-top-up__cis.json`. Provenance — every field's verbatim quote and source PDF path is preserved exactly as curated. Do not hand-edit; regenerate via `tools/build_kb_mirror.py`._ +_Mirrored from `40-data/policy_facts/national-insurance__national-super-top-up__cis.json`. Provenance — every field's verbatim quote and source PDF path is preserved exactly as curated. Do not hand-edit; regenerate via `tools/build_kb_mirror.py`._ diff --git a/kb/policies/national-insurance__national-super-top-up__prospectus.md b/kb/policies/national-insurance__national-super-top-up__prospectus.md index 312373f70f0f75ddfbda8c4fddc3e4cbbf1dedcf..a08f42b0edc8cbb8185023fe01eaa9d25c011d7b 100644 --- a/kb/policies/national-insurance__national-super-top-up__prospectus.md +++ b/kb/policies/national-insurance__national-super-top-up__prospectus.md @@ -251,4 +251,4 @@ _no data_ --- -_Mirrored from `data/policy_facts/national-insurance__national-super-top-up__prospectus.json`. Provenance — every field's verbatim quote and source PDF path is preserved exactly as curated. Do not hand-edit; regenerate via `tools/build_kb_mirror.py`._ +_Mirrored from `40-data/policy_facts/national-insurance__national-super-top-up__prospectus.json`. Provenance — every field's verbatim quote and source PDF path is preserved exactly as curated. Do not hand-edit; regenerate via `tools/build_kb_mirror.py`._ diff --git a/kb/policies/national-insurance__national-super-top-up__wordings.md b/kb/policies/national-insurance__national-super-top-up__wordings.md index 59d46ef00775963d385f4e17434a58192fbce320..b8117d6b8c4a7d305d5de2ed529b0da5e55637c1 100644 --- a/kb/policies/national-insurance__national-super-top-up__wordings.md +++ b/kb/policies/national-insurance__national-super-top-up__wordings.md @@ -251,4 +251,4 @@ _no data_ --- -_Mirrored from `data/policy_facts/national-insurance__national-super-top-up__wordings.json`. Provenance — every field's verbatim quote and source PDF path is preserved exactly as curated. Do not hand-edit; regenerate via `tools/build_kb_mirror.py`._ +_Mirrored from `40-data/policy_facts/national-insurance__national-super-top-up__wordings.json`. Provenance — every field's verbatim quote and source PDF path is preserved exactly as curated. Do not hand-edit; regenerate via `tools/build_kb_mirror.py`._ diff --git a/kb/policies/national-insurance__national-surrogacy__prospectus.md b/kb/policies/national-insurance__national-surrogacy__prospectus.md index 9b9b55c2c91c0c7a5024dacfad8d5591e7b37c06..b873700e25d665db4a6d319a839ad1991d63f2ae 100644 --- a/kb/policies/national-insurance__national-surrogacy__prospectus.md +++ b/kb/policies/national-insurance__national-surrogacy__prospectus.md @@ -251,4 +251,4 @@ _no data_ --- -_Mirrored from `data/policy_facts/national-insurance__national-surrogacy__prospectus.json`. Provenance — every field's verbatim quote and source PDF path is preserved exactly as curated. Do not hand-edit; regenerate via `tools/build_kb_mirror.py`._ +_Mirrored from `40-data/policy_facts/national-insurance__national-surrogacy__prospectus.json`. Provenance — every field's verbatim quote and source PDF path is preserved exactly as curated. Do not hand-edit; regenerate via `tools/build_kb_mirror.py`._ diff --git a/kb/policies/national-insurance__national-young-india-plus__cis.md b/kb/policies/national-insurance__national-young-india-plus__cis.md index 1b517c4b6007e1894104028625e6a981f94be9bc..0f8e3f472dc476cbfdf11e911e4095578cae25c7 100644 --- a/kb/policies/national-insurance__national-young-india-plus__cis.md +++ b/kb/policies/national-insurance__national-young-india-plus__cis.md @@ -251,4 +251,4 @@ _no data_ --- -_Mirrored from `data/policy_facts/national-insurance__national-young-india-plus__cis.json`. Provenance — every field's verbatim quote and source PDF path is preserved exactly as curated. Do not hand-edit; regenerate via `tools/build_kb_mirror.py`._ +_Mirrored from `40-data/policy_facts/national-insurance__national-young-india-plus__cis.json`. Provenance — every field's verbatim quote and source PDF path is preserved exactly as curated. Do not hand-edit; regenerate via `tools/build_kb_mirror.py`._ diff --git a/kb/policies/national-insurance__national-young-india-plus__prospectus.md b/kb/policies/national-insurance__national-young-india-plus__prospectus.md index 85fc0c487ddd6dc1d3e0acdd9d6e1b8239249d3d..46c1cf497835172985bc54d63c83824a22af00fe 100644 --- a/kb/policies/national-insurance__national-young-india-plus__prospectus.md +++ b/kb/policies/national-insurance__national-young-india-plus__prospectus.md @@ -251,4 +251,4 @@ _no data_ --- -_Mirrored from `data/policy_facts/national-insurance__national-young-india-plus__prospectus.json`. Provenance — every field's verbatim quote and source PDF path is preserved exactly as curated. Do not hand-edit; regenerate via `tools/build_kb_mirror.py`._ +_Mirrored from `40-data/policy_facts/national-insurance__national-young-india-plus__prospectus.json`. Provenance — every field's verbatim quote and source PDF path is preserved exactly as curated. Do not hand-edit; regenerate via `tools/build_kb_mirror.py`._ diff --git a/kb/policies/national-insurance__national-young-india__cis.md b/kb/policies/national-insurance__national-young-india__cis.md index f8a051476fbaf78e8ec4818b5fbfc51867c6bcf7..5152853ed964b1793542fd663a45e927d5faef94 100644 --- a/kb/policies/national-insurance__national-young-india__cis.md +++ b/kb/policies/national-insurance__national-young-india__cis.md @@ -251,4 +251,4 @@ _no data_ --- -_Mirrored from `data/policy_facts/national-insurance__national-young-india__cis.json`. Provenance — every field's verbatim quote and source PDF path is preserved exactly as curated. Do not hand-edit; regenerate via `tools/build_kb_mirror.py`._ +_Mirrored from `40-data/policy_facts/national-insurance__national-young-india__cis.json`. Provenance — every field's verbatim quote and source PDF path is preserved exactly as curated. Do not hand-edit; regenerate via `tools/build_kb_mirror.py`._ diff --git a/kb/policies/national-insurance__national-young-india__prospectus.md b/kb/policies/national-insurance__national-young-india__prospectus.md index 1fd2cf25716f08ead7a1e98a846b9c2150111eb4..2a487137890a748a5d52ec1a1cfc623f24b61657 100644 --- a/kb/policies/national-insurance__national-young-india__prospectus.md +++ b/kb/policies/national-insurance__national-young-india__prospectus.md @@ -251,4 +251,4 @@ _no data_ --- -_Mirrored from `data/policy_facts/national-insurance__national-young-india__prospectus.json`. Provenance — every field's verbatim quote and source PDF path is preserved exactly as curated. Do not hand-edit; regenerate via `tools/build_kb_mirror.py`._ +_Mirrored from `40-data/policy_facts/national-insurance__national-young-india__prospectus.json`. Provenance — every field's verbatim quote and source PDF path is preserved exactly as curated. Do not hand-edit; regenerate via `tools/build_kb_mirror.py`._ diff --git a/kb/policies/national-insurance__national-young-india__wordings.md b/kb/policies/national-insurance__national-young-india__wordings.md index 74354085a47ca05808867c03428903a3e74264e9..c92c3888e0aa6fb532d6e3a5befcd890b78c57c7 100644 --- a/kb/policies/national-insurance__national-young-india__wordings.md +++ b/kb/policies/national-insurance__national-young-india__wordings.md @@ -251,4 +251,4 @@ _no data_ --- -_Mirrored from `data/policy_facts/national-insurance__national-young-india__wordings.json`. Provenance — every field's verbatim quote and source PDF path is preserved exactly as curated. Do not hand-edit; regenerate via `tools/build_kb_mirror.py`._ +_Mirrored from `40-data/policy_facts/national-insurance__national-young-india__wordings.json`. Provenance — every field's verbatim quote and source PDF path is preserved exactly as curated. Do not hand-edit; regenerate via `tools/build_kb_mirror.py`._ diff --git a/kb/policies/national-insurance__new-national-parivar__cis.md b/kb/policies/national-insurance__new-national-parivar__cis.md index 597cf61898907e564841347ebd245762f4f0dd9f..7528c4137598ef4cc8120152a3c680493c68c500 100644 --- a/kb/policies/national-insurance__new-national-parivar__cis.md +++ b/kb/policies/national-insurance__new-national-parivar__cis.md @@ -251,4 +251,4 @@ _no data_ --- -_Mirrored from `data/policy_facts/national-insurance__new-national-parivar__cis.json`. Provenance — every field's verbatim quote and source PDF path is preserved exactly as curated. Do not hand-edit; regenerate via `tools/build_kb_mirror.py`._ +_Mirrored from `40-data/policy_facts/national-insurance__new-national-parivar__cis.json`. Provenance — every field's verbatim quote and source PDF path is preserved exactly as curated. Do not hand-edit; regenerate via `tools/build_kb_mirror.py`._ diff --git a/kb/policies/national-insurance__new-national-parivar__prospectus.md b/kb/policies/national-insurance__new-national-parivar__prospectus.md index 3ae92c2e50b0cc1f0a2b7a000fc615f24da2860c..9480cfa470a54a604bf338ca7de1cfa59a58848e 100644 --- a/kb/policies/national-insurance__new-national-parivar__prospectus.md +++ b/kb/policies/national-insurance__new-national-parivar__prospectus.md @@ -251,4 +251,4 @@ _no data_ --- -_Mirrored from `data/policy_facts/national-insurance__new-national-parivar__prospectus.json`. Provenance — every field's verbatim quote and source PDF path is preserved exactly as curated. Do not hand-edit; regenerate via `tools/build_kb_mirror.py`._ +_Mirrored from `40-data/policy_facts/national-insurance__new-national-parivar__prospectus.json`. Provenance — every field's verbatim quote and source PDF path is preserved exactly as curated. Do not hand-edit; regenerate via `tools/build_kb_mirror.py`._ diff --git a/kb/policies/national-insurance__new-national-parivar__wordings.md b/kb/policies/national-insurance__new-national-parivar__wordings.md index f60e7cf5f03bed3a12477b049fd15f112bc30758..a277eb0982b2d13e0afda515d4b5c424b779c344 100644 --- a/kb/policies/national-insurance__new-national-parivar__wordings.md +++ b/kb/policies/national-insurance__new-national-parivar__wordings.md @@ -251,4 +251,4 @@ _no data_ --- -_Mirrored from `data/policy_facts/national-insurance__new-national-parivar__wordings.json`. Provenance — every field's verbatim quote and source PDF path is preserved exactly as curated. Do not hand-edit; regenerate via `tools/build_kb_mirror.py`._ +_Mirrored from `40-data/policy_facts/national-insurance__new-national-parivar__wordings.json`. Provenance — every field's verbatim quote and source PDF path is preserved exactly as curated. Do not hand-edit; regenerate via `tools/build_kb_mirror.py`._ diff --git a/kb/policies/national-insurance__universal-health__cis.md b/kb/policies/national-insurance__universal-health__cis.md index 83b71f0a76b896557d2688a97b2075a1d0d4d80e..93972cbbaf03fc0eabafca14968eb6360284d4d5 100644 --- a/kb/policies/national-insurance__universal-health__cis.md +++ b/kb/policies/national-insurance__universal-health__cis.md @@ -251,4 +251,4 @@ _no data_ --- -_Mirrored from `data/policy_facts/national-insurance__universal-health__cis.json`. Provenance — every field's verbatim quote and source PDF path is preserved exactly as curated. Do not hand-edit; regenerate via `tools/build_kb_mirror.py`._ +_Mirrored from `40-data/policy_facts/national-insurance__universal-health__cis.json`. Provenance — every field's verbatim quote and source PDF path is preserved exactly as curated. Do not hand-edit; regenerate via `tools/build_kb_mirror.py`._ diff --git a/kb/policies/national-insurance__universal-health__prospectus.md b/kb/policies/national-insurance__universal-health__prospectus.md index 6b34ac3d3992791fda1e23ffca8930b6eda42523..e89b36494c805674d8dedc4e92dfd342a093e162 100644 --- a/kb/policies/national-insurance__universal-health__prospectus.md +++ b/kb/policies/national-insurance__universal-health__prospectus.md @@ -251,4 +251,4 @@ _no data_ --- -_Mirrored from `data/policy_facts/national-insurance__universal-health__prospectus.json`. Provenance — every field's verbatim quote and source PDF path is preserved exactly as curated. Do not hand-edit; regenerate via `tools/build_kb_mirror.py`._ +_Mirrored from `40-data/policy_facts/national-insurance__universal-health__prospectus.json`. Provenance — every field's verbatim quote and source PDF path is preserved exactly as curated. Do not hand-edit; regenerate via `tools/build_kb_mirror.py`._ diff --git a/kb/policies/national-insurance__universal-health__wordings.md b/kb/policies/national-insurance__universal-health__wordings.md index 2e69572e79192cbd810985c0dad5264affe8c4d7..88e9a2c22139cba5655feb5ea98ed744082133c2 100644 --- a/kb/policies/national-insurance__universal-health__wordings.md +++ b/kb/policies/national-insurance__universal-health__wordings.md @@ -251,4 +251,4 @@ _no data_ --- -_Mirrored from `data/policy_facts/national-insurance__universal-health__wordings.json`. Provenance — every field's verbatim quote and source PDF path is preserved exactly as curated. Do not hand-edit; regenerate via `tools/build_kb_mirror.py`._ +_Mirrored from `40-data/policy_facts/national-insurance__universal-health__wordings.json`. Provenance — every field's verbatim quote and source PDF path is preserved exactly as curated. Do not hand-edit; regenerate via `tools/build_kb_mirror.py`._ diff --git a/kb/policies/new-india__asha-kiran-policy__brochure.md b/kb/policies/new-india__asha-kiran-policy__brochure.md index c20022404f901211133ffd2d43dfe22631edf11d..e5506d9a861d0bf0738d5f5d82138f7837efc89b 100644 --- a/kb/policies/new-india__asha-kiran-policy__brochure.md +++ b/kb/policies/new-india__asha-kiran-policy__brochure.md @@ -258,4 +258,4 @@ under any circumstances unless in a vegetative state as certified by the tre --- -_Mirrored from `data/policy_facts/new-india__asha-kiran-policy__brochure.json`. Provenance — every field's verbatim quote and source PDF path is preserved exactly as curated. Do not hand-edit; regenerate via `tools/build_kb_mirror.py`._ +_Mirrored from `40-data/policy_facts/new-india__asha-kiran-policy__brochure.json`. Provenance — every field's verbatim quote and source PDF path is preserved exactly as curated. Do not hand-edit; regenerate via `tools/build_kb_mirror.py`._ diff --git a/kb/policies/new-india__asha-kiran-policy__cis.md b/kb/policies/new-india__asha-kiran-policy__cis.md index 88b6897857acfa9bb7222d4f5a4749851abfacf1..8879848e0d49042592720aa73e5caffbe1a92cf2 100644 --- a/kb/policies/new-india__asha-kiran-policy__cis.md +++ b/kb/policies/new-india__asha-kiran-policy__cis.md @@ -264,4 +264,4 @@ Procedure i. Network --- -_Mirrored from `data/policy_facts/new-india__asha-kiran-policy__cis.json`. Provenance — every field's verbatim quote and source PDF path is preserved exactly as curated. Do not hand-edit; regenerate via `tools/build_kb_mirror.py`._ +_Mirrored from `40-data/policy_facts/new-india__asha-kiran-policy__cis.json`. Provenance — every field's verbatim quote and source PDF path is preserved exactly as curated. Do not hand-edit; regenerate via `tools/build_kb_mirror.py`._ diff --git a/kb/policies/new-india__asha-kiran.md b/kb/policies/new-india__asha-kiran.md index 6f762b93feb6b396710780c947dda4b9ca659a11..60abd3e65fd6339e048c7399fd3ed5bcf6d23e36 100644 --- a/kb/policies/new-india__asha-kiran.md +++ b/kb/policies/new-india__asha-kiran.md @@ -297,4 +297,4 @@ curated_at: 2026-05-14 --- -_Mirrored from `data/policy_facts/new-india__asha-kiran.json`. Provenance — every field's verbatim quote and source PDF path is preserved exactly as curated. Do not hand-edit; regenerate via `tools/build_kb_mirror.py`._ +_Mirrored from `40-data/policy_facts/new-india__asha-kiran.json`. Provenance — every field's verbatim quote and source PDF path is preserved exactly as curated. Do not hand-edit; regenerate via `tools/build_kb_mirror.py`._ diff --git a/kb/policies/new-india__floater-mediclaim.md b/kb/policies/new-india__floater-mediclaim.md index 9cf8dd3c6425772fbeed1a303b759e105e902ac6..3902707485d4b1c5b7f11f3da1edc666ef7fe7b2 100644 --- a/kb/policies/new-india__floater-mediclaim.md +++ b/kb/policies/new-india__floater-mediclaim.md @@ -297,4 +297,4 @@ curated_at: 2026-05-13 --- -_Mirrored from `data/policy_facts/new-india__floater-mediclaim.json`. Provenance — every field's verbatim quote and source PDF path is preserved exactly as curated. Do not hand-edit; regenerate via `tools/build_kb_mirror.py`._ +_Mirrored from `40-data/policy_facts/new-india__floater-mediclaim.json`. Provenance — every field's verbatim quote and source PDF path is preserved exactly as curated. Do not hand-edit; regenerate via `tools/build_kb_mirror.py`._ diff --git a/kb/policies/new-india__janata-mediclaim-policy__wordings.md b/kb/policies/new-india__janata-mediclaim-policy__wordings.md index 7910498540496ff37763d2e745d975beed409bbe..acb31ddc9e0cc33c3dd29e2798420cf89b9b891c 100644 --- a/kb/policies/new-india__janata-mediclaim-policy__wordings.md +++ b/kb/policies/new-india__janata-mediclaim-policy__wordings.md @@ -261,4 +261,4 @@ under any circumstances unless in a vegetative state as certified by the tre --- -_Mirrored from `data/policy_facts/new-india__janata-mediclaim-policy__wordings.json`. Provenance — every field's verbatim quote and source PDF path is preserved exactly as curated. Do not hand-edit; regenerate via `tools/build_kb_mirror.py`._ +_Mirrored from `40-data/policy_facts/new-india__janata-mediclaim-policy__wordings.json`. Provenance — every field's verbatim quote and source PDF path is preserved exactly as curated. Do not hand-edit; regenerate via `tools/build_kb_mirror.py`._ diff --git a/kb/policies/new-india__janata-mediclaim.md b/kb/policies/new-india__janata-mediclaim.md index eec88331eeb3202197ac383fb8404843d56df9cc..2628114ea117239c0a26e295a4e16d8f7117378d 100644 --- a/kb/policies/new-india__janata-mediclaim.md +++ b/kb/policies/new-india__janata-mediclaim.md @@ -297,4 +297,4 @@ curated_at: 2026-05-14 --- -_Mirrored from `data/policy_facts/new-india__janata-mediclaim.json`. Provenance — every field's verbatim quote and source PDF path is preserved exactly as curated. Do not hand-edit; regenerate via `tools/build_kb_mirror.py`._ +_Mirrored from `40-data/policy_facts/new-india__janata-mediclaim.json`. Provenance — every field's verbatim quote and source PDF path is preserved exactly as curated. Do not hand-edit; regenerate via `tools/build_kb_mirror.py`._ diff --git a/kb/policies/new-india__mediclaim-policy.md b/kb/policies/new-india__mediclaim-policy.md index 955313fd4643f5e1cce9383561ca991800c0e95a..e76d6c40d2b53cf42f97bcf778935e60affbe1d8 100644 --- a/kb/policies/new-india__mediclaim-policy.md +++ b/kb/policies/new-india__mediclaim-policy.md @@ -297,4 +297,4 @@ curated_at: 2026-05-14 --- -_Mirrored from `data/policy_facts/new-india__mediclaim-policy.json`. Provenance — every field's verbatim quote and source PDF path is preserved exactly as curated. Do not hand-edit; regenerate via `tools/build_kb_mirror.py`._ +_Mirrored from `40-data/policy_facts/new-india__mediclaim-policy.json`. Provenance — every field's verbatim quote and source PDF path is preserved exactly as curated. Do not hand-edit; regenerate via `tools/build_kb_mirror.py`._ diff --git a/kb/policies/new-india__new-india-floater-mediclaim-policy__wordings.md b/kb/policies/new-india__new-india-floater-mediclaim-policy__wordings.md index 89b322d7889088377f19700afb57086781719025..57a756f16af51c854283f06da5fbf9d850d82a0d 100644 --- a/kb/policies/new-india__new-india-floater-mediclaim-policy__wordings.md +++ b/kb/policies/new-india__new-india-floater-mediclaim-policy__wordings.md @@ -266,4 +266,4 @@ Cumulative Bonus shall be increased by 25% --- -_Mirrored from `data/policy_facts/new-india__new-india-floater-mediclaim-policy__wordings.json`. Provenance — every field's verbatim quote and source PDF path is preserved exactly as curated. Do not hand-edit; regenerate via `tools/build_kb_mirror.py`._ +_Mirrored from `40-data/policy_facts/new-india__new-india-floater-mediclaim-policy__wordings.json`. Provenance — every field's verbatim quote and source PDF path is preserved exactly as curated. Do not hand-edit; regenerate via `tools/build_kb_mirror.py`._ diff --git a/kb/policies/new-india__new-india-mediclaim-policy__brochure.md b/kb/policies/new-india__new-india-mediclaim-policy__brochure.md index 67f7a8d2b7deef379040597e88cfee6cf87003a8..55eac3cbc1d9bd879ee9e6b35c3d24a9b20a6362 100644 --- a/kb/policies/new-india__new-india-mediclaim-policy__brochure.md +++ b/kb/policies/new-india__new-india-mediclaim-policy__brochure.md @@ -265,4 +265,4 @@ Earlier Cumulative Bonus Buffer is Cumulative Bonus shall be capped at --- -_Mirrored from `data/policy_facts/new-india__new-india-mediclaim-policy__brochure.json`. Provenance — every field's verbatim quote and source PDF path is preserved exactly as curated. Do not hand-edit; regenerate via `tools/build_kb_mirror.py`._ +_Mirrored from `40-data/policy_facts/new-india__new-india-mediclaim-policy__brochure.json`. Provenance — every field's verbatim quote and source PDF path is preserved exactly as curated. Do not hand-edit; regenerate via `tools/build_kb_mirror.py`._ diff --git a/kb/policies/new-india__new-india-mediclaim-policy__wordings.md b/kb/policies/new-india__new-india-mediclaim-policy__wordings.md index 998329870f378e1bbd538ce76a55b120c27c9761..b3ce004facb40808ebc937af620f670c103ebcc4 100644 --- a/kb/policies/new-india__new-india-mediclaim-policy__wordings.md +++ b/kb/policies/new-india__new-india-mediclaim-policy__wordings.md @@ -264,4 +264,4 @@ The Sum Insured under Policy shall be increased by 25% --- -_Mirrored from `data/policy_facts/new-india__new-india-mediclaim-policy__wordings.json`. Provenance — every field's verbatim quote and source PDF path is preserved exactly as curated. Do not hand-edit; regenerate via `tools/build_kb_mirror.py`._ +_Mirrored from `40-data/policy_facts/new-india__new-india-mediclaim-policy__wordings.json`. Provenance — every field's verbatim quote and source PDF path is preserved exactly as curated. Do not hand-edit; regenerate via `tools/build_kb_mirror.py`._ diff --git a/kb/policies/new-india__universal-health-insurance__wordings.md b/kb/policies/new-india__universal-health-insurance__wordings.md index 4be4ed21a5c48aa56ae640aaccf3fe76bb0d3ef3..09c12501e81bb878fd69537cb35e1211bf5c56ff 100644 --- a/kb/policies/new-india__universal-health-insurance__wordings.md +++ b/kb/policies/new-india__universal-health-insurance__wordings.md @@ -259,4 +259,4 @@ of medicines i --- -_Mirrored from `data/policy_facts/new-india__universal-health-insurance__wordings.json`. Provenance — every field's verbatim quote and source PDF path is preserved exactly as curated. Do not hand-edit; regenerate via `tools/build_kb_mirror.py`._ +_Mirrored from `40-data/policy_facts/new-india__universal-health-insurance__wordings.json`. Provenance — every field's verbatim quote and source PDF path is preserved exactly as curated. Do not hand-edit; regenerate via `tools/build_kb_mirror.py`._ diff --git a/kb/policies/new-india__universal-health.md b/kb/policies/new-india__universal-health.md index 2928c2c974afb74979e6683a78ad36e6d35ae8cd..5e8b533419a8231eb7bb762695175f018432fb94 100644 --- a/kb/policies/new-india__universal-health.md +++ b/kb/policies/new-india__universal-health.md @@ -297,4 +297,4 @@ curated_at: 2026-05-14 --- -_Mirrored from `data/policy_facts/new-india__universal-health.json`. Provenance — every field's verbatim quote and source PDF path is preserved exactly as curated. Do not hand-edit; regenerate via `tools/build_kb_mirror.py`._ +_Mirrored from `40-data/policy_facts/new-india__universal-health.json`. Provenance — every field's verbatim quote and source PDF path is preserved exactly as curated. Do not hand-edit; regenerate via `tools/build_kb_mirror.py`._ diff --git a/kb/policies/new-india__yuva-bharat-health-policy__wordings.md b/kb/policies/new-india__yuva-bharat-health-policy__wordings.md index 706d57a4f1283065c7eea6e8b3706f10cd789f86..34f63039dfc66fdead4de479ae851813cb1e0886 100644 --- a/kb/policies/new-india__yuva-bharat-health-policy__wordings.md +++ b/kb/policies/new-india__yuva-bharat-health-policy__wordings.md @@ -263,4 +263,4 @@ circumstances. We cover the expenses up to 25% --- -_Mirrored from `data/policy_facts/new-india__yuva-bharat-health-policy__wordings.json`. Provenance — every field's verbatim quote and source PDF path is preserved exactly as curated. Do not hand-edit; regenerate via `tools/build_kb_mirror.py`._ +_Mirrored from `40-data/policy_facts/new-india__yuva-bharat-health-policy__wordings.json`. Provenance — every field's verbatim quote and source PDF path is preserved exactly as curated. Do not hand-edit; regenerate via `tools/build_kb_mirror.py`._ diff --git a/kb/policies/new-india__yuva-bharat.md b/kb/policies/new-india__yuva-bharat.md index 0e38be717c1c2e340f4a9b383c25c77af7569c89..87d68fd247ff682bc9adf3852cc6d5d9c20dba7a 100644 --- a/kb/policies/new-india__yuva-bharat.md +++ b/kb/policies/new-india__yuva-bharat.md @@ -297,4 +297,4 @@ curated_at: 2026-05-14 --- -_Mirrored from `data/policy_facts/new-india__yuva-bharat.json`. Provenance — every field's verbatim quote and source PDF path is preserved exactly as curated. Do not hand-edit; regenerate via `tools/build_kb_mirror.py`._ +_Mirrored from `40-data/policy_facts/new-india__yuva-bharat.json`. Provenance — every field's verbatim quote and source PDF path is preserved exactly as curated. Do not hand-edit; regenerate via `tools/build_kb_mirror.py`._ diff --git a/kb/policies/niva-bupa__aspire.md b/kb/policies/niva-bupa__aspire.md index 257219efc501dff79d325820974b7d7bd6b4ddae..a7e7102e45d5bb054c43755b94b4218e91e22365 100644 --- a/kb/policies/niva-bupa__aspire.md +++ b/kb/policies/niva-bupa__aspire.md @@ -297,4 +297,4 @@ curated_at: 2026-05-14 --- -_Mirrored from `data/policy_facts/niva-bupa__aspire.json`. Provenance — every field's verbatim quote and source PDF path is preserved exactly as curated. Do not hand-edit; regenerate via `tools/build_kb_mirror.py`._ +_Mirrored from `40-data/policy_facts/niva-bupa__aspire.json`. Provenance — every field's verbatim quote and source PDF path is preserved exactly as curated. Do not hand-edit; regenerate via `tools/build_kb_mirror.py`._ diff --git a/kb/policies/niva-bupa__aspire__wordings.md b/kb/policies/niva-bupa__aspire__wordings.md index d79edb045695180d8f6589085a2d50e48fbc608d..ede8660cde2ac78c2104dd5c48bf42962b076ff2 100644 --- a/kb/policies/niva-bupa__aspire__wordings.md +++ b/kb/policies/niva-bupa__aspire__wordings.md @@ -251,4 +251,4 @@ _no data_ --- -_Mirrored from `data/policy_facts/niva-bupa__aspire__wordings.json`. Provenance — every field's verbatim quote and source PDF path is preserved exactly as curated. Do not hand-edit; regenerate via `tools/build_kb_mirror.py`._ +_Mirrored from `40-data/policy_facts/niva-bupa__aspire__wordings.json`. Provenance — every field's verbatim quote and source PDF path is preserved exactly as curated. Do not hand-edit; regenerate via `tools/build_kb_mirror.py`._ diff --git a/kb/policies/niva-bupa__health-companion-v2022__brochure.md b/kb/policies/niva-bupa__health-companion-v2022__brochure.md index a3927b0fae2bae7922f4117354ba6674578774da..8cd96fe823b113a2c2cdd2dfd95d1813261d95a7 100644 --- a/kb/policies/niva-bupa__health-companion-v2022__brochure.md +++ b/kb/policies/niva-bupa__health-companion-v2022__brochure.md @@ -263,4 +263,4 @@ hospital --- -_Mirrored from `data/policy_facts/niva-bupa__health-companion-v2022__brochure.json`. Provenance — every field's verbatim quote and source PDF path is preserved exactly as curated. Do not hand-edit; regenerate via `tools/build_kb_mirror.py`._ +_Mirrored from `40-data/policy_facts/niva-bupa__health-companion-v2022__brochure.json`. Provenance — every field's verbatim quote and source PDF path is preserved exactly as curated. Do not hand-edit; regenerate via `tools/build_kb_mirror.py`._ diff --git a/kb/policies/niva-bupa__health-companion.md b/kb/policies/niva-bupa__health-companion.md index 31f88799a39534448086e20473f4d59dbe3b93f2..20b46ab4097b2fe3e11ed995d1dcbc1d01fb1e51 100644 --- a/kb/policies/niva-bupa__health-companion.md +++ b/kb/policies/niva-bupa__health-companion.md @@ -297,4 +297,4 @@ curated_at: 2026-05-13 --- -_Mirrored from `data/policy_facts/niva-bupa__health-companion.json`. Provenance — every field's verbatim quote and source PDF path is preserved exactly as curated. Do not hand-edit; regenerate via `tools/build_kb_mirror.py`._ +_Mirrored from `40-data/policy_facts/niva-bupa__health-companion.json`. Provenance — every field's verbatim quote and source PDF path is preserved exactly as curated. Do not hand-edit; regenerate via `tools/build_kb_mirror.py`._ diff --git a/kb/policies/niva-bupa__health-companion__wordings.md b/kb/policies/niva-bupa__health-companion__wordings.md index c9a9ff4971290404e5ff22ff3d9aa3cc561cc5c2..f309954561eb99997b4eeb91781f1d4f085c7e21 100644 --- a/kb/policies/niva-bupa__health-companion__wordings.md +++ b/kb/policies/niva-bupa__health-companion__wordings.md @@ -251,4 +251,4 @@ _no data_ --- -_Mirrored from `data/policy_facts/niva-bupa__health-companion__wordings.json`. Provenance — every field's verbatim quote and source PDF path is preserved exactly as curated. Do not hand-edit; regenerate via `tools/build_kb_mirror.py`._ +_Mirrored from `40-data/policy_facts/niva-bupa__health-companion__wordings.json`. Provenance — every field's verbatim quote and source PDF path is preserved exactly as curated. Do not hand-edit; regenerate via `tools/build_kb_mirror.py`._ diff --git a/kb/policies/niva-bupa__health-premia.md b/kb/policies/niva-bupa__health-premia.md index 0ec197882a2236a10a03565e192094de6044ec9c..f89313e3e3e169b9976bb372e9b3fe73fb703a2d 100644 --- a/kb/policies/niva-bupa__health-premia.md +++ b/kb/policies/niva-bupa__health-premia.md @@ -297,4 +297,4 @@ curated_at: 2026-05-14 --- -_Mirrored from `data/policy_facts/niva-bupa__health-premia.json`. Provenance — every field's verbatim quote and source PDF path is preserved exactly as curated. Do not hand-edit; regenerate via `tools/build_kb_mirror.py`._ +_Mirrored from `40-data/policy_facts/niva-bupa__health-premia.json`. Provenance — every field's verbatim quote and source PDF path is preserved exactly as curated. Do not hand-edit; regenerate via `tools/build_kb_mirror.py`._ diff --git a/kb/policies/niva-bupa__health-premia__wordings.md b/kb/policies/niva-bupa__health-premia__wordings.md index a67eb9dd95598219bd26c37cb8b1cb2da3ee3c55..270dc51f978e2bd844fcd56576f08e7e28eef23d 100644 --- a/kb/policies/niva-bupa__health-premia__wordings.md +++ b/kb/policies/niva-bupa__health-premia__wordings.md @@ -251,4 +251,4 @@ _no data_ --- -_Mirrored from `data/policy_facts/niva-bupa__health-premia__wordings.json`. Provenance — every field's verbatim quote and source PDF path is preserved exactly as curated. Do not hand-edit; regenerate via `tools/build_kb_mirror.py`._ +_Mirrored from `40-data/policy_facts/niva-bupa__health-premia__wordings.json`. Provenance — every field's verbatim quote and source PDF path is preserved exactly as curated. Do not hand-edit; regenerate via `tools/build_kb_mirror.py`._ diff --git a/kb/policies/niva-bupa__reassure-2-0__wordings.md b/kb/policies/niva-bupa__reassure-2-0__wordings.md index 9d535d6b2f103ece4578d791e409267d2569c6fc..9edd07987c6bab48bae2cf849d3e0cee273b2ac9 100644 --- a/kb/policies/niva-bupa__reassure-2-0__wordings.md +++ b/kb/policies/niva-bupa__reassure-2-0__wordings.md @@ -258,4 +258,4 @@ We will pay expenses incurred on consultations, medicines, physiotherapy, diagno --- -_Mirrored from `data/policy_facts/niva-bupa__reassure-2-0__wordings.json`. Provenance — every field's verbatim quote and source PDF path is preserved exactly as curated. Do not hand-edit; regenerate via `tools/build_kb_mirror.py`._ +_Mirrored from `40-data/policy_facts/niva-bupa__reassure-2-0__wordings.json`. Provenance — every field's verbatim quote and source PDF path is preserved exactly as curated. Do not hand-edit; regenerate via `tools/build_kb_mirror.py`._ diff --git a/kb/policies/niva-bupa__reassure-2.md b/kb/policies/niva-bupa__reassure-2.md index ac1db01ceabbe88a0c76627642c73061318cf13e..e7d87dd1fdbe3d09e247bf565743359782f0fec3 100644 --- a/kb/policies/niva-bupa__reassure-2.md +++ b/kb/policies/niva-bupa__reassure-2.md @@ -297,4 +297,4 @@ curated_at: 2026-05-13 --- -_Mirrored from `data/policy_facts/niva-bupa__reassure-2.json`. Provenance — every field's verbatim quote and source PDF path is preserved exactly as curated. Do not hand-edit; regenerate via `tools/build_kb_mirror.py`._ +_Mirrored from `40-data/policy_facts/niva-bupa__reassure-2.json`. Provenance — every field's verbatim quote and source PDF path is preserved exactly as curated. Do not hand-edit; regenerate via `tools/build_kb_mirror.py`._ diff --git a/kb/policies/niva-bupa__reassure-3.md b/kb/policies/niva-bupa__reassure-3.md index b16c7558ef35722deecd28818253237d9befe5f9..364ec52e0c03117049cc30e2bf5bbcde892c35d0 100644 --- a/kb/policies/niva-bupa__reassure-3.md +++ b/kb/policies/niva-bupa__reassure-3.md @@ -297,4 +297,4 @@ curated_at: 2026-05-14 --- -_Mirrored from `data/policy_facts/niva-bupa__reassure-3.json`. Provenance — every field's verbatim quote and source PDF path is preserved exactly as curated. Do not hand-edit; regenerate via `tools/build_kb_mirror.py`._ +_Mirrored from `40-data/policy_facts/niva-bupa__reassure-3.json`. Provenance — every field's verbatim quote and source PDF path is preserved exactly as curated. Do not hand-edit; regenerate via `tools/build_kb_mirror.py`._ diff --git a/kb/policies/niva-bupa__rise.md b/kb/policies/niva-bupa__rise.md index 2480aa0e26f8e40e71233e0b06ff23c1e4e3d856..eba8f104b5bcd19dd8bcb471f8974f503b96bc6a 100644 --- a/kb/policies/niva-bupa__rise.md +++ b/kb/policies/niva-bupa__rise.md @@ -297,4 +297,4 @@ curated_at: 2026-05-14 --- -_Mirrored from `data/policy_facts/niva-bupa__rise.json`. Provenance — every field's verbatim quote and source PDF path is preserved exactly as curated. Do not hand-edit; regenerate via `tools/build_kb_mirror.py`._ +_Mirrored from `40-data/policy_facts/niva-bupa__rise.json`. Provenance — every field's verbatim quote and source PDF path is preserved exactly as curated. Do not hand-edit; regenerate via `tools/build_kb_mirror.py`._ diff --git a/kb/policies/niva-bupa__rise__wordings.md b/kb/policies/niva-bupa__rise__wordings.md index 2b2999b80f085d8c001c12bbb40db82bb179a72c..03cb6ad0f3046a9d7973549305d60394ff4bc939 100644 --- a/kb/policies/niva-bupa__rise__wordings.md +++ b/kb/policies/niva-bupa__rise__wordings.md @@ -251,4 +251,4 @@ _no data_ --- -_Mirrored from `data/policy_facts/niva-bupa__rise__wordings.json`. Provenance — every field's verbatim quote and source PDF path is preserved exactly as curated. Do not hand-edit; regenerate via `tools/build_kb_mirror.py`._ +_Mirrored from `40-data/policy_facts/niva-bupa__rise__wordings.json`. Provenance — every field's verbatim quote and source PDF path is preserved exactly as curated. Do not hand-edit; regenerate via `tools/build_kb_mirror.py`._ diff --git a/kb/policies/niva-bupa__saral-suraksha-bima__wordings.md b/kb/policies/niva-bupa__saral-suraksha-bima__wordings.md index 965bd31fe9627c8909808391fe2c112abfe0cd64..4edbe01d1fdc3674af2e00692752484d880cb9a1 100644 --- a/kb/policies/niva-bupa__saral-suraksha-bima__wordings.md +++ b/kb/policies/niva-bupa__saral-suraksha-bima__wordings.md @@ -259,4 +259,4 @@ Sum insured (excluding cumulative bonus) shall be increased by 5% --- -_Mirrored from `data/policy_facts/niva-bupa__saral-suraksha-bima__wordings.json`. Provenance — every field's verbatim quote and source PDF path is preserved exactly as curated. Do not hand-edit; regenerate via `tools/build_kb_mirror.py`._ +_Mirrored from `40-data/policy_facts/niva-bupa__saral-suraksha-bima__wordings.json`. Provenance — every field's verbatim quote and source PDF path is preserved exactly as curated. Do not hand-edit; regenerate via `tools/build_kb_mirror.py`._ diff --git a/kb/policies/niva-bupa__senior-first.md b/kb/policies/niva-bupa__senior-first.md index 0236729d71cc850d273b4b50c3d03760378a5af0..3ea304a59806b106f1076add7ab424b5ec85f9f2 100644 --- a/kb/policies/niva-bupa__senior-first.md +++ b/kb/policies/niva-bupa__senior-first.md @@ -297,4 +297,4 @@ curated_at: 2026-05-13 --- -_Mirrored from `data/policy_facts/niva-bupa__senior-first.json`. Provenance — every field's verbatim quote and source PDF path is preserved exactly as curated. Do not hand-edit; regenerate via `tools/build_kb_mirror.py`._ +_Mirrored from `40-data/policy_facts/niva-bupa__senior-first.json`. Provenance — every field's verbatim quote and source PDF path is preserved exactly as curated. Do not hand-edit; regenerate via `tools/build_kb_mirror.py`._ diff --git a/kb/policies/niva-bupa__senior-first__wordings.md b/kb/policies/niva-bupa__senior-first__wordings.md index c77b8fdbf2b05dcbe893d7200bddb947d1dfd839..b0f0638ca31c0afc35451e571e0b97cf0a3936c8 100644 --- a/kb/policies/niva-bupa__senior-first__wordings.md +++ b/kb/policies/niva-bupa__senior-first__wordings.md @@ -251,4 +251,4 @@ _no data_ --- -_Mirrored from `data/policy_facts/niva-bupa__senior-first__wordings.json`. Provenance — every field's verbatim quote and source PDF path is preserved exactly as curated. Do not hand-edit; regenerate via `tools/build_kb_mirror.py`._ +_Mirrored from `40-data/policy_facts/niva-bupa__senior-first__wordings.json`. Provenance — every field's verbatim quote and source PDF path is preserved exactly as curated. Do not hand-edit; regenerate via `tools/build_kb_mirror.py`._ diff --git a/kb/policies/oriental-insurance__arogya-sanjeevani__brochure.md b/kb/policies/oriental-insurance__arogya-sanjeevani__brochure.md index e3e68ab7b6c63ceba60da34dfbaecd59a6942be6..ab7fa0a6a7542798edaea232e7153f90980832ff 100644 --- a/kb/policies/oriental-insurance__arogya-sanjeevani__brochure.md +++ b/kb/policies/oriental-insurance__arogya-sanjeevani__brochure.md @@ -251,4 +251,4 @@ _no data_ --- -_Mirrored from `data/policy_facts/oriental-insurance__arogya-sanjeevani__brochure.json`. Provenance — every field's verbatim quote and source PDF path is preserved exactly as curated. Do not hand-edit; regenerate via `tools/build_kb_mirror.py`._ +_Mirrored from `40-data/policy_facts/oriental-insurance__arogya-sanjeevani__brochure.json`. Provenance — every field's verbatim quote and source PDF path is preserved exactly as curated. Do not hand-edit; regenerate via `tools/build_kb_mirror.py`._ diff --git a/kb/policies/oriental-insurance__arogya-sanjeevani__wordings.md b/kb/policies/oriental-insurance__arogya-sanjeevani__wordings.md index 2ce7294e9e81f4a2f8ea976f878cd009a50524c0..9a09aa7c2904bfa886a7f972e73945d23787d3c5 100644 --- a/kb/policies/oriental-insurance__arogya-sanjeevani__wordings.md +++ b/kb/policies/oriental-insurance__arogya-sanjeevani__wordings.md @@ -251,4 +251,4 @@ _no data_ --- -_Mirrored from `data/policy_facts/oriental-insurance__arogya-sanjeevani__wordings.json`. Provenance — every field's verbatim quote and source PDF path is preserved exactly as curated. Do not hand-edit; regenerate via `tools/build_kb_mirror.py`._ +_Mirrored from `40-data/policy_facts/oriental-insurance__arogya-sanjeevani__wordings.json`. Provenance — every field's verbatim quote and source PDF path is preserved exactly as curated. Do not hand-edit; regenerate via `tools/build_kb_mirror.py`._ diff --git a/kb/policies/oriental-insurance__happy-family-floater__wordings.md b/kb/policies/oriental-insurance__happy-family-floater__wordings.md index 3aa6b70fc884c66a3c24f2d68cd22ffc8900188e..f2fc64b74ecfbaa817de59e1c4f95dfd23922da1 100644 --- a/kb/policies/oriental-insurance__happy-family-floater__wordings.md +++ b/kb/policies/oriental-insurance__happy-family-floater__wordings.md @@ -251,4 +251,4 @@ _no data_ --- -_Mirrored from `data/policy_facts/oriental-insurance__happy-family-floater__wordings.json`. Provenance — every field's verbatim quote and source PDF path is preserved exactly as curated. Do not hand-edit; regenerate via `tools/build_kb_mirror.py`._ +_Mirrored from `40-data/policy_facts/oriental-insurance__happy-family-floater__wordings.json`. Provenance — every field's verbatim quote and source PDF path is preserved exactly as curated. Do not hand-edit; regenerate via `tools/build_kb_mirror.py`._ diff --git a/kb/policies/oriental-insurance__oriental-mediclaim-individual__cis.md b/kb/policies/oriental-insurance__oriental-mediclaim-individual__cis.md index a45087e4ac281a3f62ffd7c733b0be5ffde6a398..730229a23572eb1cdfb7591186ce9ec45f49bf21 100644 --- a/kb/policies/oriental-insurance__oriental-mediclaim-individual__cis.md +++ b/kb/policies/oriental-insurance__oriental-mediclaim-individual__cis.md @@ -251,4 +251,4 @@ _no data_ --- -_Mirrored from `data/policy_facts/oriental-insurance__oriental-mediclaim-individual__cis.json`. Provenance — every field's verbatim quote and source PDF path is preserved exactly as curated. Do not hand-edit; regenerate via `tools/build_kb_mirror.py`._ +_Mirrored from `40-data/policy_facts/oriental-insurance__oriental-mediclaim-individual__cis.json`. Provenance — every field's verbatim quote and source PDF path is preserved exactly as curated. Do not hand-edit; regenerate via `tools/build_kb_mirror.py`._ diff --git a/kb/policies/oriental-insurance__oriental-mediclaim-individual__wordings.md b/kb/policies/oriental-insurance__oriental-mediclaim-individual__wordings.md index bf6ce074f48aa9207c0dc3c4f7b1d05a5f0a9ecb..f5f75300f2dfded6923c4af213bb1d391c4f1eed 100644 --- a/kb/policies/oriental-insurance__oriental-mediclaim-individual__wordings.md +++ b/kb/policies/oriental-insurance__oriental-mediclaim-individual__wordings.md @@ -251,4 +251,4 @@ _no data_ --- -_Mirrored from `data/policy_facts/oriental-insurance__oriental-mediclaim-individual__wordings.json`. Provenance — every field's verbatim quote and source PDF path is preserved exactly as curated. Do not hand-edit; regenerate via `tools/build_kb_mirror.py`._ +_Mirrored from `40-data/policy_facts/oriental-insurance__oriental-mediclaim-individual__wordings.json`. Provenance — every field's verbatim quote and source PDF path is preserved exactly as curated. Do not hand-edit; regenerate via `tools/build_kb_mirror.py`._ diff --git a/kb/policies/reliance-general__group-mediclaim__wordings.md b/kb/policies/reliance-general__group-mediclaim__wordings.md index 78ce0424078f2a100368730928ae41301cd70840..8fcccc7d832d04cdb279de0364cf29bde7619df6 100644 --- a/kb/policies/reliance-general__group-mediclaim__wordings.md +++ b/kb/policies/reliance-general__group-mediclaim__wordings.md @@ -251,4 +251,4 @@ _no data_ --- -_Mirrored from `data/policy_facts/reliance-general__group-mediclaim__wordings.json`. Provenance — every field's verbatim quote and source PDF path is preserved exactly as curated. Do not hand-edit; regenerate via `tools/build_kb_mirror.py`._ +_Mirrored from `40-data/policy_facts/reliance-general__group-mediclaim__wordings.json`. Provenance — every field's verbatim quote and source PDF path is preserved exactly as curated. Do not hand-edit; regenerate via `tools/build_kb_mirror.py`._ diff --git a/kb/policies/reliance-general__health-gain__wordings.md b/kb/policies/reliance-general__health-gain__wordings.md index 08e77b5b72438a9066f8f76136587469335e0c40..414d83366b152d36fa888d1cfaf7d73556c02a5c 100644 --- a/kb/policies/reliance-general__health-gain__wordings.md +++ b/kb/policies/reliance-general__health-gain__wordings.md @@ -251,4 +251,4 @@ _no data_ --- -_Mirrored from `data/policy_facts/reliance-general__health-gain__wordings.json`. Provenance — every field's verbatim quote and source PDF path is preserved exactly as curated. Do not hand-edit; regenerate via `tools/build_kb_mirror.py`._ +_Mirrored from `40-data/policy_facts/reliance-general__health-gain__wordings.json`. Provenance — every field's verbatim quote and source PDF path is preserved exactly as curated. Do not hand-edit; regenerate via `tools/build_kb_mirror.py`._ diff --git a/kb/policies/reliance-general__hospi-care__wordings.md b/kb/policies/reliance-general__hospi-care__wordings.md index f1fea9172d92acc094c64f8bf72c0db27bd930cb..5fa17cdf43f5165348512faf8c0b382ea1a93789 100644 --- a/kb/policies/reliance-general__hospi-care__wordings.md +++ b/kb/policies/reliance-general__hospi-care__wordings.md @@ -251,4 +251,4 @@ _no data_ --- -_Mirrored from `data/policy_facts/reliance-general__hospi-care__wordings.json`. Provenance — every field's verbatim quote and source PDF path is preserved exactly as curated. Do not hand-edit; regenerate via `tools/build_kb_mirror.py`._ +_Mirrored from `40-data/policy_facts/reliance-general__hospi-care__wordings.json`. Provenance — every field's verbatim quote and source PDF path is preserved exactly as curated. Do not hand-edit; regenerate via `tools/build_kb_mirror.py`._ diff --git a/kb/policies/reliance-general__personal-accident__wordings.md b/kb/policies/reliance-general__personal-accident__wordings.md index 9e2c2941c2dd54f33e45e2365afe42873ecafffe..17810c066677a4b55ca3d5a43371db8c93d9fc25 100644 --- a/kb/policies/reliance-general__personal-accident__wordings.md +++ b/kb/policies/reliance-general__personal-accident__wordings.md @@ -251,4 +251,4 @@ _no data_ --- -_Mirrored from `data/policy_facts/reliance-general__personal-accident__wordings.json`. Provenance — every field's verbatim quote and source PDF path is preserved exactly as curated. Do not hand-edit; regenerate via `tools/build_kb_mirror.py`._ +_Mirrored from `40-data/policy_facts/reliance-general__personal-accident__wordings.json`. Provenance — every field's verbatim quote and source PDF path is preserved exactly as curated. Do not hand-edit; regenerate via `tools/build_kb_mirror.py`._ diff --git a/kb/policies/royal-sundaram__advanced-top-up__brochure.md b/kb/policies/royal-sundaram__advanced-top-up__brochure.md index fbf66feeddfee3223d57125a39d29de81e63c864..74f18774138526d83f0cf5cc3935628acbd824d6 100644 --- a/kb/policies/royal-sundaram__advanced-top-up__brochure.md +++ b/kb/policies/royal-sundaram__advanced-top-up__brochure.md @@ -251,4 +251,4 @@ _no data_ --- -_Mirrored from `data/policy_facts/royal-sundaram__advanced-top-up__brochure.json`. Provenance — every field's verbatim quote and source PDF path is preserved exactly as curated. Do not hand-edit; regenerate via `tools/build_kb_mirror.py`._ +_Mirrored from `40-data/policy_facts/royal-sundaram__advanced-top-up__brochure.json`. Provenance — every field's verbatim quote and source PDF path is preserved exactly as curated. Do not hand-edit; regenerate via `tools/build_kb_mirror.py`._ diff --git a/kb/policies/royal-sundaram__advanced-top-up__cis.md b/kb/policies/royal-sundaram__advanced-top-up__cis.md index daacc413305f619361f1cb1834eec7ff00bde8b8..bf22178ed0893f0e7ff5f50cb7c63260478cb3f3 100644 --- a/kb/policies/royal-sundaram__advanced-top-up__cis.md +++ b/kb/policies/royal-sundaram__advanced-top-up__cis.md @@ -251,4 +251,4 @@ _no data_ --- -_Mirrored from `data/policy_facts/royal-sundaram__advanced-top-up__cis.json`. Provenance — every field's verbatim quote and source PDF path is preserved exactly as curated. Do not hand-edit; regenerate via `tools/build_kb_mirror.py`._ +_Mirrored from `40-data/policy_facts/royal-sundaram__advanced-top-up__cis.json`. Provenance — every field's verbatim quote and source PDF path is preserved exactly as curated. Do not hand-edit; regenerate via `tools/build_kb_mirror.py`._ diff --git a/kb/policies/royal-sundaram__advanced-top-up__wordings.md b/kb/policies/royal-sundaram__advanced-top-up__wordings.md index 5b396e843b325f095443809c753c00e62b543070..1c615744d66307e30adef1c866d72c5fda4f1715 100644 --- a/kb/policies/royal-sundaram__advanced-top-up__wordings.md +++ b/kb/policies/royal-sundaram__advanced-top-up__wordings.md @@ -251,4 +251,4 @@ _no data_ --- -_Mirrored from `data/policy_facts/royal-sundaram__advanced-top-up__wordings.json`. Provenance — every field's verbatim quote and source PDF path is preserved exactly as curated. Do not hand-edit; regenerate via `tools/build_kb_mirror.py`._ +_Mirrored from `40-data/policy_facts/royal-sundaram__advanced-top-up__wordings.json`. Provenance — every field's verbatim quote and source PDF path is preserved exactly as curated. Do not hand-edit; regenerate via `tools/build_kb_mirror.py`._ diff --git a/kb/policies/royal-sundaram__arogya-sanjeevani__wordings.md b/kb/policies/royal-sundaram__arogya-sanjeevani__wordings.md index 5bf043f0b7582df53c771a093db96a0cff139def..7947ee6ac7bde43016c0422adc2f866ae9136fbf 100644 --- a/kb/policies/royal-sundaram__arogya-sanjeevani__wordings.md +++ b/kb/policies/royal-sundaram__arogya-sanjeevani__wordings.md @@ -251,4 +251,4 @@ _no data_ --- -_Mirrored from `data/policy_facts/royal-sundaram__arogya-sanjeevani__wordings.json`. Provenance — every field's verbatim quote and source PDF path is preserved exactly as curated. Do not hand-edit; regenerate via `tools/build_kb_mirror.py`._ +_Mirrored from `40-data/policy_facts/royal-sundaram__arogya-sanjeevani__wordings.json`. Provenance — every field's verbatim quote and source PDF path is preserved exactly as curated. Do not hand-edit; regenerate via `tools/build_kb_mirror.py`._ diff --git a/kb/policies/royal-sundaram__family-plus__brochure.md b/kb/policies/royal-sundaram__family-plus__brochure.md index c8135f13af6c43b53607758daa743ddf67299a4b..0309efda03654dfbd43cfa0f77619eb4d947334d 100644 --- a/kb/policies/royal-sundaram__family-plus__brochure.md +++ b/kb/policies/royal-sundaram__family-plus__brochure.md @@ -251,4 +251,4 @@ _no data_ --- -_Mirrored from `data/policy_facts/royal-sundaram__family-plus__brochure.json`. Provenance — every field's verbatim quote and source PDF path is preserved exactly as curated. Do not hand-edit; regenerate via `tools/build_kb_mirror.py`._ +_Mirrored from `40-data/policy_facts/royal-sundaram__family-plus__brochure.json`. Provenance — every field's verbatim quote and source PDF path is preserved exactly as curated. Do not hand-edit; regenerate via `tools/build_kb_mirror.py`._ diff --git a/kb/policies/royal-sundaram__family-plus__cis.md b/kb/policies/royal-sundaram__family-plus__cis.md index 2993a71f36da43c5e2f3007d27cee1489fc48f90..e55cfd0d1dc6e8ff3a30c20a47a61d66f060cf67 100644 --- a/kb/policies/royal-sundaram__family-plus__cis.md +++ b/kb/policies/royal-sundaram__family-plus__cis.md @@ -251,4 +251,4 @@ _no data_ --- -_Mirrored from `data/policy_facts/royal-sundaram__family-plus__cis.json`. Provenance — every field's verbatim quote and source PDF path is preserved exactly as curated. Do not hand-edit; regenerate via `tools/build_kb_mirror.py`._ +_Mirrored from `40-data/policy_facts/royal-sundaram__family-plus__cis.json`. Provenance — every field's verbatim quote and source PDF path is preserved exactly as curated. Do not hand-edit; regenerate via `tools/build_kb_mirror.py`._ diff --git a/kb/policies/royal-sundaram__family-plus__wordings.md b/kb/policies/royal-sundaram__family-plus__wordings.md index 8b8a658149184ca9ec3b56757da37f1499696fa7..f8fda2f20fd17e0d8bc4363ec1bb42ba802a0aef 100644 --- a/kb/policies/royal-sundaram__family-plus__wordings.md +++ b/kb/policies/royal-sundaram__family-plus__wordings.md @@ -251,4 +251,4 @@ _no data_ --- -_Mirrored from `data/policy_facts/royal-sundaram__family-plus__wordings.json`. Provenance — every field's verbatim quote and source PDF path is preserved exactly as curated. Do not hand-edit; regenerate via `tools/build_kb_mirror.py`._ +_Mirrored from `40-data/policy_facts/royal-sundaram__family-plus__wordings.json`. Provenance — every field's verbatim quote and source PDF path is preserved exactly as curated. Do not hand-edit; regenerate via `tools/build_kb_mirror.py`._ diff --git a/kb/policies/royal-sundaram__lifeline__brochure.md b/kb/policies/royal-sundaram__lifeline__brochure.md index da12986ca147468340e55300d875683d1c4fea80..a45808f3d6b3d401bb8805b08e9c40b0221bb22b 100644 --- a/kb/policies/royal-sundaram__lifeline__brochure.md +++ b/kb/policies/royal-sundaram__lifeline__brochure.md @@ -251,4 +251,4 @@ _no data_ --- -_Mirrored from `data/policy_facts/royal-sundaram__lifeline__brochure.json`. Provenance — every field's verbatim quote and source PDF path is preserved exactly as curated. Do not hand-edit; regenerate via `tools/build_kb_mirror.py`._ +_Mirrored from `40-data/policy_facts/royal-sundaram__lifeline__brochure.json`. Provenance — every field's verbatim quote and source PDF path is preserved exactly as curated. Do not hand-edit; regenerate via `tools/build_kb_mirror.py`._ diff --git a/kb/policies/royal-sundaram__lifeline__cis.md b/kb/policies/royal-sundaram__lifeline__cis.md index 5b735c64be43203739a32d576881370eebeeaf44..b7ed1bd6c2145bbb3e7c4ca322891c06dac9e0b0 100644 --- a/kb/policies/royal-sundaram__lifeline__cis.md +++ b/kb/policies/royal-sundaram__lifeline__cis.md @@ -251,4 +251,4 @@ _no data_ --- -_Mirrored from `data/policy_facts/royal-sundaram__lifeline__cis.json`. Provenance — every field's verbatim quote and source PDF path is preserved exactly as curated. Do not hand-edit; regenerate via `tools/build_kb_mirror.py`._ +_Mirrored from `40-data/policy_facts/royal-sundaram__lifeline__cis.json`. Provenance — every field's verbatim quote and source PDF path is preserved exactly as curated. Do not hand-edit; regenerate via `tools/build_kb_mirror.py`._ diff --git a/kb/policies/royal-sundaram__lifeline__wordings.md b/kb/policies/royal-sundaram__lifeline__wordings.md index 05dbc33a6b68b2d100844088db4b7d10d3c14544..71256d132d187fc2a51f384a65190c3df63d44f6 100644 --- a/kb/policies/royal-sundaram__lifeline__wordings.md +++ b/kb/policies/royal-sundaram__lifeline__wordings.md @@ -251,4 +251,4 @@ _no data_ --- -_Mirrored from `data/policy_facts/royal-sundaram__lifeline__wordings.json`. Provenance — every field's verbatim quote and source PDF path is preserved exactly as curated. Do not hand-edit; regenerate via `tools/build_kb_mirror.py`._ +_Mirrored from `40-data/policy_facts/royal-sundaram__lifeline__wordings.json`. Provenance — every field's verbatim quote and source PDF path is preserved exactly as curated. Do not hand-edit; regenerate via `tools/build_kb_mirror.py`._ diff --git a/kb/policies/royal-sundaram__multiplier__brochure.md b/kb/policies/royal-sundaram__multiplier__brochure.md index 3783f46320b7afd6e67b428ce2056539a20e2006..da785b80501bfd72d0fd11e70a1de3bb372cfb62 100644 --- a/kb/policies/royal-sundaram__multiplier__brochure.md +++ b/kb/policies/royal-sundaram__multiplier__brochure.md @@ -251,4 +251,4 @@ _no data_ --- -_Mirrored from `data/policy_facts/royal-sundaram__multiplier__brochure.json`. Provenance — every field's verbatim quote and source PDF path is preserved exactly as curated. Do not hand-edit; regenerate via `tools/build_kb_mirror.py`._ +_Mirrored from `40-data/policy_facts/royal-sundaram__multiplier__brochure.json`. Provenance — every field's verbatim quote and source PDF path is preserved exactly as curated. Do not hand-edit; regenerate via `tools/build_kb_mirror.py`._ diff --git a/kb/policies/royal-sundaram__multiplier__cis.md b/kb/policies/royal-sundaram__multiplier__cis.md index 4a54f3bcdca787926e775063c3ccb242083b4637..72b8b1c698e2cc415ae9fda645d9736edb2dfdf3 100644 --- a/kb/policies/royal-sundaram__multiplier__cis.md +++ b/kb/policies/royal-sundaram__multiplier__cis.md @@ -251,4 +251,4 @@ _no data_ --- -_Mirrored from `data/policy_facts/royal-sundaram__multiplier__cis.json`. Provenance — every field's verbatim quote and source PDF path is preserved exactly as curated. Do not hand-edit; regenerate via `tools/build_kb_mirror.py`._ +_Mirrored from `40-data/policy_facts/royal-sundaram__multiplier__cis.json`. Provenance — every field's verbatim quote and source PDF path is preserved exactly as curated. Do not hand-edit; regenerate via `tools/build_kb_mirror.py`._ diff --git a/kb/policies/royal-sundaram__multiplier__wordings.md b/kb/policies/royal-sundaram__multiplier__wordings.md index afc0afb97bc0e25a463bcfd81ac01da791325a98..721415335f774e501ceb751d75476976bf32d339 100644 --- a/kb/policies/royal-sundaram__multiplier__wordings.md +++ b/kb/policies/royal-sundaram__multiplier__wordings.md @@ -251,4 +251,4 @@ _no data_ --- -_Mirrored from `data/policy_facts/royal-sundaram__multiplier__wordings.json`. Provenance — every field's verbatim quote and source PDF path is preserved exactly as curated. Do not hand-edit; regenerate via `tools/build_kb_mirror.py`._ +_Mirrored from `40-data/policy_facts/royal-sundaram__multiplier__wordings.json`. Provenance — every field's verbatim quote and source PDF path is preserved exactly as curated. Do not hand-edit; regenerate via `tools/build_kb_mirror.py`._ diff --git a/kb/policies/royal-sundaram__presecure-advantage__wordings.md b/kb/policies/royal-sundaram__presecure-advantage__wordings.md index 9d071c1cb31604a9e445854d3f548e67829833e0..6110df94f21222397531411cdcaad6188e24af22 100644 --- a/kb/policies/royal-sundaram__presecure-advantage__wordings.md +++ b/kb/policies/royal-sundaram__presecure-advantage__wordings.md @@ -251,4 +251,4 @@ _no data_ --- -_Mirrored from `data/policy_facts/royal-sundaram__presecure-advantage__wordings.json`. Provenance — every field's verbatim quote and source PDF path is preserved exactly as curated. Do not hand-edit; regenerate via `tools/build_kb_mirror.py`._ +_Mirrored from `40-data/policy_facts/royal-sundaram__presecure-advantage__wordings.json`. Provenance — every field's verbatim quote and source PDF path is preserved exactly as curated. Do not hand-edit; regenerate via `tools/build_kb_mirror.py`._ diff --git a/kb/policies/royal-sundaram__surrosafe__wordings.md b/kb/policies/royal-sundaram__surrosafe__wordings.md index 665bb10eae05124da73d4380c89900cb81310b55..d1acc011ee0f9b806bb1904136049b466165607e 100644 --- a/kb/policies/royal-sundaram__surrosafe__wordings.md +++ b/kb/policies/royal-sundaram__surrosafe__wordings.md @@ -251,4 +251,4 @@ _no data_ --- -_Mirrored from `data/policy_facts/royal-sundaram__surrosafe__wordings.json`. Provenance — every field's verbatim quote and source PDF path is preserved exactly as curated. Do not hand-edit; regenerate via `tools/build_kb_mirror.py`._ +_Mirrored from `40-data/policy_facts/royal-sundaram__surrosafe__wordings.json`. Provenance — every field's verbatim quote and source PDF path is preserved exactly as curated. Do not hand-edit; regenerate via `tools/build_kb_mirror.py`._ diff --git a/kb/policies/sbi-general__arogya-supreme__brochure.md b/kb/policies/sbi-general__arogya-supreme__brochure.md index 650b4e0579aac5d79c65b9b9d58bef97d2bbd05d..7f8dd30397260c2cb5b4ec157be8d1e5194ce215 100644 --- a/kb/policies/sbi-general__arogya-supreme__brochure.md +++ b/kb/policies/sbi-general__arogya-supreme__brochure.md @@ -251,4 +251,4 @@ _no data_ --- -_Mirrored from `data/policy_facts/sbi-general__arogya-supreme__brochure.json`. Provenance — every field's verbatim quote and source PDF path is preserved exactly as curated. Do not hand-edit; regenerate via `tools/build_kb_mirror.py`._ +_Mirrored from `40-data/policy_facts/sbi-general__arogya-supreme__brochure.json`. Provenance — every field's verbatim quote and source PDF path is preserved exactly as curated. Do not hand-edit; regenerate via `tools/build_kb_mirror.py`._ diff --git a/kb/policies/sbi-general__arogya-supreme__cis.md b/kb/policies/sbi-general__arogya-supreme__cis.md index e31a3e725646bd9197a4b4968c23a6148e025d48..608a369c50df813b9b8f362061e5e4077062b9b1 100644 --- a/kb/policies/sbi-general__arogya-supreme__cis.md +++ b/kb/policies/sbi-general__arogya-supreme__cis.md @@ -251,4 +251,4 @@ _no data_ --- -_Mirrored from `data/policy_facts/sbi-general__arogya-supreme__cis.json`. Provenance — every field's verbatim quote and source PDF path is preserved exactly as curated. Do not hand-edit; regenerate via `tools/build_kb_mirror.py`._ +_Mirrored from `40-data/policy_facts/sbi-general__arogya-supreme__cis.json`. Provenance — every field's verbatim quote and source PDF path is preserved exactly as curated. Do not hand-edit; regenerate via `tools/build_kb_mirror.py`._ diff --git a/kb/policies/sbi-general__arogya-supreme__wordings.md b/kb/policies/sbi-general__arogya-supreme__wordings.md index 2b63855a2429b4ed8989c454390b67a7daea4e6c..6b9c5910eea7a8c2530b22b76d17000d7ae11f91 100644 --- a/kb/policies/sbi-general__arogya-supreme__wordings.md +++ b/kb/policies/sbi-general__arogya-supreme__wordings.md @@ -251,4 +251,4 @@ _no data_ --- -_Mirrored from `data/policy_facts/sbi-general__arogya-supreme__wordings.json`. Provenance — every field's verbatim quote and source PDF path is preserved exactly as curated. Do not hand-edit; regenerate via `tools/build_kb_mirror.py`._ +_Mirrored from `40-data/policy_facts/sbi-general__arogya-supreme__wordings.json`. Provenance — every field's verbatim quote and source PDF path is preserved exactly as curated. Do not hand-edit; regenerate via `tools/build_kb_mirror.py`._ diff --git a/kb/policies/sbi-general__health-alpha__cis.md b/kb/policies/sbi-general__health-alpha__cis.md index f091c6ed98bd971311026193ce0ed4ec156bed84..4aa2fd7b0538313313fb64e073b08f0a759c883f 100644 --- a/kb/policies/sbi-general__health-alpha__cis.md +++ b/kb/policies/sbi-general__health-alpha__cis.md @@ -251,4 +251,4 @@ _no data_ --- -_Mirrored from `data/policy_facts/sbi-general__health-alpha__cis.json`. Provenance — every field's verbatim quote and source PDF path is preserved exactly as curated. Do not hand-edit; regenerate via `tools/build_kb_mirror.py`._ +_Mirrored from `40-data/policy_facts/sbi-general__health-alpha__cis.json`. Provenance — every field's verbatim quote and source PDF path is preserved exactly as curated. Do not hand-edit; regenerate via `tools/build_kb_mirror.py`._ diff --git a/kb/policies/sbi-general__health-alpha__wordings.md b/kb/policies/sbi-general__health-alpha__wordings.md index 263847c13e2ea13614f29e22fcb52b77158c93c8..4470e745d7aa83a296c45083f8cd71789f7a49d4 100644 --- a/kb/policies/sbi-general__health-alpha__wordings.md +++ b/kb/policies/sbi-general__health-alpha__wordings.md @@ -251,4 +251,4 @@ _no data_ --- -_Mirrored from `data/policy_facts/sbi-general__health-alpha__wordings.json`. Provenance — every field's verbatim quote and source PDF path is preserved exactly as curated. Do not hand-edit; regenerate via `tools/build_kb_mirror.py`._ +_Mirrored from `40-data/policy_facts/sbi-general__health-alpha__wordings.json`. Provenance — every field's verbatim quote and source PDF path is preserved exactly as curated. Do not hand-edit; regenerate via `tools/build_kb_mirror.py`._ diff --git a/kb/policies/sbi-general__health-edge__cis.md b/kb/policies/sbi-general__health-edge__cis.md index c5d90fccf92ac7ba85527660532e5a6f2dedb0d8..c0617cd7625eeed8da4ff02cc4ce6012a0523eea 100644 --- a/kb/policies/sbi-general__health-edge__cis.md +++ b/kb/policies/sbi-general__health-edge__cis.md @@ -251,4 +251,4 @@ _no data_ --- -_Mirrored from `data/policy_facts/sbi-general__health-edge__cis.json`. Provenance — every field's verbatim quote and source PDF path is preserved exactly as curated. Do not hand-edit; regenerate via `tools/build_kb_mirror.py`._ +_Mirrored from `40-data/policy_facts/sbi-general__health-edge__cis.json`. Provenance — every field's verbatim quote and source PDF path is preserved exactly as curated. Do not hand-edit; regenerate via `tools/build_kb_mirror.py`._ diff --git a/kb/policies/sbi-general__health-edge__wordings.md b/kb/policies/sbi-general__health-edge__wordings.md index 037a74ce9c664ff32d82dfdaed151dc1cfef1615..b53892ecbf8c2133e6039192551f88c133214eca 100644 --- a/kb/policies/sbi-general__health-edge__wordings.md +++ b/kb/policies/sbi-general__health-edge__wordings.md @@ -251,4 +251,4 @@ _no data_ --- -_Mirrored from `data/policy_facts/sbi-general__health-edge__wordings.json`. Provenance — every field's verbatim quote and source PDF path is preserved exactly as curated. Do not hand-edit; regenerate via `tools/build_kb_mirror.py`._ +_Mirrored from `40-data/policy_facts/sbi-general__health-edge__wordings.json`. Provenance — every field's verbatim quote and source PDF path is preserved exactly as curated. Do not hand-edit; regenerate via `tools/build_kb_mirror.py`._ diff --git a/kb/policies/sbi-general__super-health-insurance__cis.md b/kb/policies/sbi-general__super-health-insurance__cis.md index 1759a8078a53066f5453d77668e588ad65240b2f..399c0805b8c152620395b19b065135082766cbce 100644 --- a/kb/policies/sbi-general__super-health-insurance__cis.md +++ b/kb/policies/sbi-general__super-health-insurance__cis.md @@ -251,4 +251,4 @@ _no data_ --- -_Mirrored from `data/policy_facts/sbi-general__super-health-insurance__cis.json`. Provenance — every field's verbatim quote and source PDF path is preserved exactly as curated. Do not hand-edit; regenerate via `tools/build_kb_mirror.py`._ +_Mirrored from `40-data/policy_facts/sbi-general__super-health-insurance__cis.json`. Provenance — every field's verbatim quote and source PDF path is preserved exactly as curated. Do not hand-edit; regenerate via `tools/build_kb_mirror.py`._ diff --git a/kb/policies/sbi-general__super-health-insurance__wordings.md b/kb/policies/sbi-general__super-health-insurance__wordings.md index 281edbda7da21b3b1ba8c5bdd165200c18526b0f..2d68bb1eb53676551b05dfefd09ce10265af4e5d 100644 --- a/kb/policies/sbi-general__super-health-insurance__wordings.md +++ b/kb/policies/sbi-general__super-health-insurance__wordings.md @@ -251,4 +251,4 @@ _no data_ --- -_Mirrored from `data/policy_facts/sbi-general__super-health-insurance__wordings.json`. Provenance — every field's verbatim quote and source PDF path is preserved exactly as curated. Do not hand-edit; regenerate via `tools/build_kb_mirror.py`._ +_Mirrored from `40-data/policy_facts/sbi-general__super-health-insurance__wordings.json`. Provenance — every field's verbatim quote and source PDF path is preserved exactly as curated. Do not hand-edit; regenerate via `tools/build_kb_mirror.py`._ diff --git a/kb/policies/sbi-general__super-top-up__cis.md b/kb/policies/sbi-general__super-top-up__cis.md index 81549272baee86545d210ed61ecbb1a9e695f41f..d6def6b597621816515898997ab31aa6ef1d3d8d 100644 --- a/kb/policies/sbi-general__super-top-up__cis.md +++ b/kb/policies/sbi-general__super-top-up__cis.md @@ -249,4 +249,4 @@ _no data_ --- -_Mirrored from `data/policy_facts/sbi-general__super-top-up__cis.json`. Provenance — every field's verbatim quote and source PDF path is preserved exactly as curated. Do not hand-edit; regenerate via `tools/build_kb_mirror.py`._ +_Mirrored from `40-data/policy_facts/sbi-general__super-top-up__cis.json`. Provenance — every field's verbatim quote and source PDF path is preserved exactly as curated. Do not hand-edit; regenerate via `tools/build_kb_mirror.py`._ diff --git a/kb/policies/sbi-general__super-top-up__wordings.md b/kb/policies/sbi-general__super-top-up__wordings.md index 9b154bec6a244a7bee4c9319467681b8bc255f26..4824fa5ac81b49cb0900ddb579334e5203645041 100644 --- a/kb/policies/sbi-general__super-top-up__wordings.md +++ b/kb/policies/sbi-general__super-top-up__wordings.md @@ -251,4 +251,4 @@ _no data_ --- -_Mirrored from `data/policy_facts/sbi-general__super-top-up__wordings.json`. Provenance — every field's verbatim quote and source PDF path is preserved exactly as curated. Do not hand-edit; regenerate via `tools/build_kb_mirror.py`._ +_Mirrored from `40-data/policy_facts/sbi-general__super-top-up__wordings.json`. Provenance — every field's verbatim quote and source PDF path is preserved exactly as curated. Do not hand-edit; regenerate via `tools/build_kb_mirror.py`._ diff --git a/kb/policies/star-health__family-health-optima.md b/kb/policies/star-health__family-health-optima.md index 46f743ea77a07ce5c8f5d79257ed68d8e41269bf..c2bf2983cca820b7a3920c498ce4fb8b470e4269 100644 --- a/kb/policies/star-health__family-health-optima.md +++ b/kb/policies/star-health__family-health-optima.md @@ -297,4 +297,4 @@ curated_at: 2026-05-13 --- -_Mirrored from `data/policy_facts/star-health__family-health-optima.json`. Provenance — every field's verbatim quote and source PDF path is preserved exactly as curated. Do not hand-edit; regenerate via `tools/build_kb_mirror.py`._ +_Mirrored from `40-data/policy_facts/star-health__family-health-optima.json`. Provenance — every field's verbatim quote and source PDF path is preserved exactly as curated. Do not hand-edit; regenerate via `tools/build_kb_mirror.py`._ diff --git a/kb/policies/star-health__family-health-optima__brochure.md b/kb/policies/star-health__family-health-optima__brochure.md index ee7ebefb6af18d5e5f0d5f6b9076e4925ae54726..ce8a0311dfaa063ce128f70182ef7922a3106d7c 100644 --- a/kb/policies/star-health__family-health-optima__brochure.md +++ b/kb/policies/star-health__family-health-optima__brochure.md @@ -251,4 +251,4 @@ _no data_ --- -_Mirrored from `data/policy_facts/star-health__family-health-optima__brochure.json`. Provenance — every field's verbatim quote and source PDF path is preserved exactly as curated. Do not hand-edit; regenerate via `tools/build_kb_mirror.py`._ +_Mirrored from `40-data/policy_facts/star-health__family-health-optima__brochure.json`. Provenance — every field's verbatim quote and source PDF path is preserved exactly as curated. Do not hand-edit; regenerate via `tools/build_kb_mirror.py`._ diff --git a/kb/policies/star-health__family-health-optima__wordings.md b/kb/policies/star-health__family-health-optima__wordings.md index 88aab294f99b7445c4df389b80fa8b843ec1f32e..e5ba1db3a718319dc7081d4acd8032c2d3f80175 100644 --- a/kb/policies/star-health__family-health-optima__wordings.md +++ b/kb/policies/star-health__family-health-optima__wordings.md @@ -251,4 +251,4 @@ _no data_ --- -_Mirrored from `data/policy_facts/star-health__family-health-optima__wordings.json`. Provenance — every field's verbatim quote and source PDF path is preserved exactly as curated. Do not hand-edit; regenerate via `tools/build_kb_mirror.py`._ +_Mirrored from `40-data/policy_facts/star-health__family-health-optima__wordings.json`. Provenance — every field's verbatim quote and source PDF path is preserved exactly as curated. Do not hand-edit; regenerate via `tools/build_kb_mirror.py`._ diff --git a/kb/policies/star-health__health-premier__brochure.md b/kb/policies/star-health__health-premier__brochure.md index 26615ce4a3322e18d861db24d0667cc5f512a5a5..590d77acf6078197bc3e830d79cc2517a7ac2787 100644 --- a/kb/policies/star-health__health-premier__brochure.md +++ b/kb/policies/star-health__health-premier__brochure.md @@ -251,4 +251,4 @@ _no data_ --- -_Mirrored from `data/policy_facts/star-health__health-premier__brochure.json`. Provenance — every field's verbatim quote and source PDF path is preserved exactly as curated. Do not hand-edit; regenerate via `tools/build_kb_mirror.py`._ +_Mirrored from `40-data/policy_facts/star-health__health-premier__brochure.json`. Provenance — every field's verbatim quote and source PDF path is preserved exactly as curated. Do not hand-edit; regenerate via `tools/build_kb_mirror.py`._ diff --git a/kb/policies/star-health__health-premier__wordings.md b/kb/policies/star-health__health-premier__wordings.md index 369197a762dcfc19deaef4fd676b964c34f87849..754361473feafa40b1e533f07174877ef4b5f68f 100644 --- a/kb/policies/star-health__health-premier__wordings.md +++ b/kb/policies/star-health__health-premier__wordings.md @@ -251,4 +251,4 @@ _no data_ --- -_Mirrored from `data/policy_facts/star-health__health-premier__wordings.json`. Provenance — every field's verbatim quote and source PDF path is preserved exactly as curated. Do not hand-edit; regenerate via `tools/build_kb_mirror.py`._ +_Mirrored from `40-data/policy_facts/star-health__health-premier__wordings.json`. Provenance — every field's verbatim quote and source PDF path is preserved exactly as curated. Do not hand-edit; regenerate via `tools/build_kb_mirror.py`._ diff --git a/kb/policies/star-health__senior-citizens-red-carpet.md b/kb/policies/star-health__senior-citizens-red-carpet.md index 5ba69f42ca398eb14ec39464dbbb7eefcb511a97..f440ef4ace459bbc6e80cf3a62240aef2f577c0a 100644 --- a/kb/policies/star-health__senior-citizens-red-carpet.md +++ b/kb/policies/star-health__senior-citizens-red-carpet.md @@ -297,4 +297,4 @@ curated_at: 2026-05-14 --- -_Mirrored from `data/policy_facts/star-health__senior-citizens-red-carpet.json`. Provenance — every field's verbatim quote and source PDF path is preserved exactly as curated. Do not hand-edit; regenerate via `tools/build_kb_mirror.py`._ +_Mirrored from `40-data/policy_facts/star-health__senior-citizens-red-carpet.json`. Provenance — every field's verbatim quote and source PDF path is preserved exactly as curated. Do not hand-edit; regenerate via `tools/build_kb_mirror.py`._ diff --git a/kb/policies/star-health__senior-citizens-red-carpet__brochure.md b/kb/policies/star-health__senior-citizens-red-carpet__brochure.md index 5ad0993e728a2266dcff8d5b3ac684b696901b1e..02152aa498f7d345c10c543531789f043675d6bd 100644 --- a/kb/policies/star-health__senior-citizens-red-carpet__brochure.md +++ b/kb/policies/star-health__senior-citizens-red-carpet__brochure.md @@ -251,4 +251,4 @@ _no data_ --- -_Mirrored from `data/policy_facts/star-health__senior-citizens-red-carpet__brochure.json`. Provenance — every field's verbatim quote and source PDF path is preserved exactly as curated. Do not hand-edit; regenerate via `tools/build_kb_mirror.py`._ +_Mirrored from `40-data/policy_facts/star-health__senior-citizens-red-carpet__brochure.json`. Provenance — every field's verbatim quote and source PDF path is preserved exactly as curated. Do not hand-edit; regenerate via `tools/build_kb_mirror.py`._ diff --git a/kb/policies/star-health__star-assure.md b/kb/policies/star-health__star-assure.md index fa8ad0600de3fba8428b228a8e49956eff26c2a4..60c4ff3259ce0e1c96e8d1bef35daf71b91c7869 100644 --- a/kb/policies/star-health__star-assure.md +++ b/kb/policies/star-health__star-assure.md @@ -297,4 +297,4 @@ curated_at: 2026-05-14 --- -_Mirrored from `data/policy_facts/star-health__star-assure.json`. Provenance — every field's verbatim quote and source PDF path is preserved exactly as curated. Do not hand-edit; regenerate via `tools/build_kb_mirror.py`._ +_Mirrored from `40-data/policy_facts/star-health__star-assure.json`. Provenance — every field's verbatim quote and source PDF path is preserved exactly as curated. Do not hand-edit; regenerate via `tools/build_kb_mirror.py`._ diff --git a/kb/policies/star-health__star-assure__wordings.md b/kb/policies/star-health__star-assure__wordings.md index 2df66edc59fe65c2851a52d1ed1501b873c6a4de..3a9a0e048e8aba78185d773ffbc8f7c6545b8c94 100644 --- a/kb/policies/star-health__star-assure__wordings.md +++ b/kb/policies/star-health__star-assure__wordings.md @@ -251,4 +251,4 @@ _no data_ --- -_Mirrored from `data/policy_facts/star-health__star-assure__wordings.json`. Provenance — every field's verbatim quote and source PDF path is preserved exactly as curated. Do not hand-edit; regenerate via `tools/build_kb_mirror.py`._ +_Mirrored from `40-data/policy_facts/star-health__star-assure__wordings.json`. Provenance — every field's verbatim quote and source PDF path is preserved exactly as curated. Do not hand-edit; regenerate via `tools/build_kb_mirror.py`._ diff --git a/kb/policies/star-health__star-cancer-care-platinum__wordings.md b/kb/policies/star-health__star-cancer-care-platinum__wordings.md index feb6840d27d056a1aace015d56a65c3b2a856df6..fea6f9208af49aca53b340039ba91b38dea519ba 100644 --- a/kb/policies/star-health__star-cancer-care-platinum__wordings.md +++ b/kb/policies/star-health__star-cancer-care-platinum__wordings.md @@ -255,4 +255,4 @@ curated_at: 2026-05-14 --- -_Mirrored from `data/policy_facts/star-health__star-cancer-care-platinum__wordings.json`. Provenance — every field's verbatim quote and source PDF path is preserved exactly as curated. Do not hand-edit; regenerate via `tools/build_kb_mirror.py`._ +_Mirrored from `40-data/policy_facts/star-health__star-cancer-care-platinum__wordings.json`. Provenance — every field's verbatim quote and source PDF path is preserved exactly as curated. Do not hand-edit; regenerate via `tools/build_kb_mirror.py`._ diff --git a/kb/policies/star-health__star-cardiac-care-platinum.md b/kb/policies/star-health__star-cardiac-care-platinum.md index a1521826a347c4a0e39fb903c62f75857fc30667..9ec8e902239a8a5fd5ae3782411f5f667a8723af 100644 --- a/kb/policies/star-health__star-cardiac-care-platinum.md +++ b/kb/policies/star-health__star-cardiac-care-platinum.md @@ -297,4 +297,4 @@ curated_at: 2026-05-14 --- -_Mirrored from `data/policy_facts/star-health__star-cardiac-care-platinum.json`. Provenance — every field's verbatim quote and source PDF path is preserved exactly as curated. Do not hand-edit; regenerate via `tools/build_kb_mirror.py`._ +_Mirrored from `40-data/policy_facts/star-health__star-cardiac-care-platinum.json`. Provenance — every field's verbatim quote and source PDF path is preserved exactly as curated. Do not hand-edit; regenerate via `tools/build_kb_mirror.py`._ diff --git a/kb/policies/star-health__star-cardiac-care-platinum__wordings.md b/kb/policies/star-health__star-cardiac-care-platinum__wordings.md index 8463a6260e518325263f5f795de03345a53bc3c8..c0fe4e5d75149a18f897706ba9b7f5bcb865f198 100644 --- a/kb/policies/star-health__star-cardiac-care-platinum__wordings.md +++ b/kb/policies/star-health__star-cardiac-care-platinum__wordings.md @@ -251,4 +251,4 @@ _no data_ --- -_Mirrored from `data/policy_facts/star-health__star-cardiac-care-platinum__wordings.json`. Provenance — every field's verbatim quote and source PDF path is preserved exactly as curated. Do not hand-edit; regenerate via `tools/build_kb_mirror.py`._ +_Mirrored from `40-data/policy_facts/star-health__star-cardiac-care-platinum__wordings.json`. Provenance — every field's verbatim quote and source PDF path is preserved exactly as curated. Do not hand-edit; regenerate via `tools/build_kb_mirror.py`._ diff --git a/kb/policies/star-health__star-cardiac-care.md b/kb/policies/star-health__star-cardiac-care.md index f89f6982e6a64640e19490e48c21eb479deff191..2b164e0e6f7d58c643315bf308877f50dfb32439 100644 --- a/kb/policies/star-health__star-cardiac-care.md +++ b/kb/policies/star-health__star-cardiac-care.md @@ -297,4 +297,4 @@ curated_at: 2026-05-14 --- -_Mirrored from `data/policy_facts/star-health__star-cardiac-care.json`. Provenance — every field's verbatim quote and source PDF path is preserved exactly as curated. Do not hand-edit; regenerate via `tools/build_kb_mirror.py`._ +_Mirrored from `40-data/policy_facts/star-health__star-cardiac-care.json`. Provenance — every field's verbatim quote and source PDF path is preserved exactly as curated. Do not hand-edit; regenerate via `tools/build_kb_mirror.py`._ diff --git a/kb/policies/star-health__star-cardiac-care__wordings.md b/kb/policies/star-health__star-cardiac-care__wordings.md index 64bffd8cc31ef72793805aee2108a4e9e854e4a5..cacb42412f859833a7f43424a9063adef4ae75dd 100644 --- a/kb/policies/star-health__star-cardiac-care__wordings.md +++ b/kb/policies/star-health__star-cardiac-care__wordings.md @@ -251,4 +251,4 @@ _no data_ --- -_Mirrored from `data/policy_facts/star-health__star-cardiac-care__wordings.json`. Provenance — every field's verbatim quote and source PDF path is preserved exactly as curated. Do not hand-edit; regenerate via `tools/build_kb_mirror.py`._ +_Mirrored from `40-data/policy_facts/star-health__star-cardiac-care__wordings.json`. Provenance — every field's verbatim quote and source PDF path is preserved exactly as curated. Do not hand-edit; regenerate via `tools/build_kb_mirror.py`._ diff --git a/kb/policies/star-health__star-comprehensive.md b/kb/policies/star-health__star-comprehensive.md index 031d7d44e845bb20284680c6dff951eb6f2882f7..a55a43c61371db6bf9b0b0e738cf97b89c3353c6 100644 --- a/kb/policies/star-health__star-comprehensive.md +++ b/kb/policies/star-health__star-comprehensive.md @@ -297,4 +297,4 @@ curated_at: 2026-05-13 --- -_Mirrored from `data/policy_facts/star-health__star-comprehensive.json`. Provenance — every field's verbatim quote and source PDF path is preserved exactly as curated. Do not hand-edit; regenerate via `tools/build_kb_mirror.py`._ +_Mirrored from `40-data/policy_facts/star-health__star-comprehensive.json`. Provenance — every field's verbatim quote and source PDF path is preserved exactly as curated. Do not hand-edit; regenerate via `tools/build_kb_mirror.py`._ diff --git a/kb/policies/tata-aig__criti-medicare__wordings.md b/kb/policies/tata-aig__criti-medicare__wordings.md index 7d3617c47d50e922223db42643cf0b39d5e10c11..ba542864c69f0f4156592d76f69509042c13adc1 100644 --- a/kb/policies/tata-aig__criti-medicare__wordings.md +++ b/kb/policies/tata-aig__criti-medicare__wordings.md @@ -257,4 +257,4 @@ curated_at: 2026-05-14 --- -_Mirrored from `data/policy_facts/tata-aig__criti-medicare__wordings.json`. Provenance — every field's verbatim quote and source PDF path is preserved exactly as curated. Do not hand-edit; regenerate via `tools/build_kb_mirror.py`._ +_Mirrored from `40-data/policy_facts/tata-aig__criti-medicare__wordings.json`. Provenance — every field's verbatim quote and source PDF path is preserved exactly as curated. Do not hand-edit; regenerate via `tools/build_kb_mirror.py`._ diff --git a/kb/policies/tata-aig__medicare-lite.md b/kb/policies/tata-aig__medicare-lite.md index d2a9d623a1773a15a3e82240542c0a642739d125..d59439d1cb222997c12eba16958316a3691b1e2c 100644 --- a/kb/policies/tata-aig__medicare-lite.md +++ b/kb/policies/tata-aig__medicare-lite.md @@ -297,4 +297,4 @@ curated_at: 2026-05-14 --- -_Mirrored from `data/policy_facts/tata-aig__medicare-lite.json`. Provenance — every field's verbatim quote and source PDF path is preserved exactly as curated. Do not hand-edit; regenerate via `tools/build_kb_mirror.py`._ +_Mirrored from `40-data/policy_facts/tata-aig__medicare-lite.json`. Provenance — every field's verbatim quote and source PDF path is preserved exactly as curated. Do not hand-edit; regenerate via `tools/build_kb_mirror.py`._ diff --git a/kb/policies/tata-aig__medicare-lite__cis.md b/kb/policies/tata-aig__medicare-lite__cis.md index 923a71be5ce249d31a9b3373a706882d82dd4281..cf33ad8bcd4c89d4a957c025514b4719f14649b3 100644 --- a/kb/policies/tata-aig__medicare-lite__cis.md +++ b/kb/policies/tata-aig__medicare-lite__cis.md @@ -251,4 +251,4 @@ _no data_ --- -_Mirrored from `data/policy_facts/tata-aig__medicare-lite__cis.json`. Provenance — every field's verbatim quote and source PDF path is preserved exactly as curated. Do not hand-edit; regenerate via `tools/build_kb_mirror.py`._ +_Mirrored from `40-data/policy_facts/tata-aig__medicare-lite__cis.json`. Provenance — every field's verbatim quote and source PDF path is preserved exactly as curated. Do not hand-edit; regenerate via `tools/build_kb_mirror.py`._ diff --git a/kb/policies/tata-aig__medicare-premier.md b/kb/policies/tata-aig__medicare-premier.md index 08820896c2c80dde282988104fd4494f1be96510..e032a8c08e62d909b86868286ddc3b2e4473b342 100644 --- a/kb/policies/tata-aig__medicare-premier.md +++ b/kb/policies/tata-aig__medicare-premier.md @@ -297,4 +297,4 @@ curated_at: 2026-05-13 --- -_Mirrored from `data/policy_facts/tata-aig__medicare-premier.json`. Provenance — every field's verbatim quote and source PDF path is preserved exactly as curated. Do not hand-edit; regenerate via `tools/build_kb_mirror.py`._ +_Mirrored from `40-data/policy_facts/tata-aig__medicare-premier.json`. Provenance — every field's verbatim quote and source PDF path is preserved exactly as curated. Do not hand-edit; regenerate via `tools/build_kb_mirror.py`._ diff --git a/kb/policies/tata-aig__medicare-premier__cis.md b/kb/policies/tata-aig__medicare-premier__cis.md index 9a4650f211475478248d5a05872ca88680ec09cd..86c45fc620f0200024bc831ad0548ac6a26cfa84 100644 --- a/kb/policies/tata-aig__medicare-premier__cis.md +++ b/kb/policies/tata-aig__medicare-premier__cis.md @@ -251,4 +251,4 @@ _no data_ --- -_Mirrored from `data/policy_facts/tata-aig__medicare-premier__cis.json`. Provenance — every field's verbatim quote and source PDF path is preserved exactly as curated. Do not hand-edit; regenerate via `tools/build_kb_mirror.py`._ +_Mirrored from `40-data/policy_facts/tata-aig__medicare-premier__cis.json`. Provenance — every field's verbatim quote and source PDF path is preserved exactly as curated. Do not hand-edit; regenerate via `tools/build_kb_mirror.py`._ diff --git a/kb/policies/tata-aig__medicare-premier__wordings.md b/kb/policies/tata-aig__medicare-premier__wordings.md index e4fb17f7f4e0152a1ea7f243ccb162705a2923d7..780b5cc9ce6978d88e8759581e7bb97f4e38d62c 100644 --- a/kb/policies/tata-aig__medicare-premier__wordings.md +++ b/kb/policies/tata-aig__medicare-premier__wordings.md @@ -251,4 +251,4 @@ _no data_ --- -_Mirrored from `data/policy_facts/tata-aig__medicare-premier__wordings.json`. Provenance — every field's verbatim quote and source PDF path is preserved exactly as curated. Do not hand-edit; regenerate via `tools/build_kb_mirror.py`._ +_Mirrored from `40-data/policy_facts/tata-aig__medicare-premier__wordings.json`. Provenance — every field's verbatim quote and source PDF path is preserved exactly as curated. Do not hand-edit; regenerate via `tools/build_kb_mirror.py`._ diff --git a/kb/policies/tata-aig__medicare-select.md b/kb/policies/tata-aig__medicare-select.md index 7d8d7bb40d71c2c8f7e5c2475bf7e9ae8ee37ff4..bcbdca65672136d059587f82c3be382f9186dd5d 100644 --- a/kb/policies/tata-aig__medicare-select.md +++ b/kb/policies/tata-aig__medicare-select.md @@ -297,4 +297,4 @@ curated_at: 2026-05-14 --- -_Mirrored from `data/policy_facts/tata-aig__medicare-select.json`. Provenance — every field's verbatim quote and source PDF path is preserved exactly as curated. Do not hand-edit; regenerate via `tools/build_kb_mirror.py`._ +_Mirrored from `40-data/policy_facts/tata-aig__medicare-select.json`. Provenance — every field's verbatim quote and source PDF path is preserved exactly as curated. Do not hand-edit; regenerate via `tools/build_kb_mirror.py`._ diff --git a/kb/policies/tata-aig__medicare-select__brochure.md b/kb/policies/tata-aig__medicare-select__brochure.md index e80d851f7289055422424acb76051c55178cf5c3..fffde6dda6a66bd003aec4c7de374f097a90528e 100644 --- a/kb/policies/tata-aig__medicare-select__brochure.md +++ b/kb/policies/tata-aig__medicare-select__brochure.md @@ -251,4 +251,4 @@ _no data_ --- -_Mirrored from `data/policy_facts/tata-aig__medicare-select__brochure.json`. Provenance — every field's verbatim quote and source PDF path is preserved exactly as curated. Do not hand-edit; regenerate via `tools/build_kb_mirror.py`._ +_Mirrored from `40-data/policy_facts/tata-aig__medicare-select__brochure.json`. Provenance — every field's verbatim quote and source PDF path is preserved exactly as curated. Do not hand-edit; regenerate via `tools/build_kb_mirror.py`._ diff --git a/kb/policies/tata-aig__medicare.md b/kb/policies/tata-aig__medicare.md index 2144b9a03cd5b407497712d5510e669ee21277c7..6e18805fc95deafcb94de8370d86c842a7f6123e 100644 --- a/kb/policies/tata-aig__medicare.md +++ b/kb/policies/tata-aig__medicare.md @@ -297,4 +297,4 @@ curated_at: 2026-05-13 --- -_Mirrored from `data/policy_facts/tata-aig__medicare.json`. Provenance — every field's verbatim quote and source PDF path is preserved exactly as curated. Do not hand-edit; regenerate via `tools/build_kb_mirror.py`._ +_Mirrored from `40-data/policy_facts/tata-aig__medicare.json`. Provenance — every field's verbatim quote and source PDF path is preserved exactly as curated. Do not hand-edit; regenerate via `tools/build_kb_mirror.py`._ diff --git a/kb/policies/tata-aig__wellsurance-family__cis.md b/kb/policies/tata-aig__wellsurance-family__cis.md index e8da57c42ed798a913ecae4166ce0168855e3389..7c9d9fcacd60f5b7ec03afb95b68f08790798adb 100644 --- a/kb/policies/tata-aig__wellsurance-family__cis.md +++ b/kb/policies/tata-aig__wellsurance-family__cis.md @@ -257,4 +257,4 @@ curated_at: 2026-05-14 --- -_Mirrored from `data/policy_facts/tata-aig__wellsurance-family__cis.json`. Provenance — every field's verbatim quote and source PDF path is preserved exactly as curated. Do not hand-edit; regenerate via `tools/build_kb_mirror.py`._ +_Mirrored from `40-data/policy_facts/tata-aig__wellsurance-family__cis.json`. Provenance — every field's verbatim quote and source PDF path is preserved exactly as curated. Do not hand-edit; regenerate via `tools/build_kb_mirror.py`._ diff --git a/kb/research/corpus_acquisition.md b/kb/research/corpus_acquisition.md index b9d46ea57fec4c5408dc790e9971042bb9d7ce0a..3a2157cb63d5f83cf86e7818b36841b549b39bac 100644 --- a/kb/research/corpus_acquisition.md +++ b/kb/research/corpus_acquisition.md @@ -33,7 +33,7 @@ _Auto-generated from `rag/corpus/_manifest.json` at 2026-05-12T23:59:58Z_ ## How we did it - Dispatched a research agent to find direct PDF URLs for all health policies across 10 target insurers -- Source list saved to `data/corpus_urls.md` (75 URLs) +- Source list saved to `40-data/corpus_urls.md` (75 URLs) - `rag/download_corpus.py` downloads with PDF magic-byte verification + size floor (50KB) - `rag/download_retry.py` retried failed downloads with browser-grade headers (rescued ICICI Lombard 9/9) - Star Health (11 PDFs) blocked by CDN bot protection — deferred to v2 (see `70-docs/04-failure-modes.md` + ROADMAP) diff --git a/kb/reviews/INDEX.md b/kb/reviews/INDEX.md index aeb262351b654c31245e5fc57eda6480fd849569..3dfc093382039ad0b4c79651cdc64b5a26d91216 100644 --- a/kb/reviews/INDEX.md +++ b/kb/reviews/INDEX.md @@ -1,6 +1,6 @@ # Reviews — Insurer Reputation Index -_Auto-generated. Source: `data/reviews/*.json`. Per-insurer sheets in `kb/reviews/.md`._ +_Auto-generated. Source: `40-data/reviews/*.json`. Per-insurer sheets in `kb/reviews/.md`._ ## Leaderboard diff --git a/kb/reviews/aditya-birla.md b/kb/reviews/aditya-birla.md index 677a7195bace3c9a7d947459e192d235e8546557..f559a6fe928e9190e2b3f0d7452088088f09197a 100644 --- a/kb/reviews/aditya-birla.md +++ b/kb/reviews/aditya-birla.md @@ -1,6 +1,6 @@ # Aditya Birla Health Insurance — Reputation Sheet -_Auto-generated from `data/reviews/aditya-birla.json`. Reviews are the v1 substitute for live regulator + sentiment monitoring. Re-build with `python -m rag.build_kb`._ +_Auto-generated from `40-data/reviews/aditya-birla.json`. Reviews are the v1 substitute for live regulator + sentiment monitoring. Re-build with `python -m rag.build_kb`._ **Aggregate score:** **81.2** (B). _Strong CSR (93%) with low complaints (13 per 10K), differentiated by HealthReturns wellness program_ @@ -43,6 +43,6 @@ _Auto-generated from `data/reviews/aditya-birla.json`. Reviews are the v1 substi --- -_Aggregate score formula: 0.40 × CSR + 0.20 × inverse-complaints + 0.15 × avg-aggregator-star + 0.10 × reddit + 0.10 × youtube + 0.05 × news. See `data/reviews/INDEX.md` for the leaderboard._ +_Aggregate score formula: 0.40 × CSR + 0.20 × inverse-complaints + 0.15 × avg-aggregator-star + 0.10 × reddit + 0.10 × youtube + 0.05 × news. See `40-data/reviews/INDEX.md` for the leaderboard._ **Flows into the bot via:** `score_claim_experience()` in `backend/scorecard.py` — IRDAI CSR + complaints become Claim Experience sub-score signals for every policy this insurer offers. \ No newline at end of file diff --git a/kb/reviews/bajaj-allianz.md b/kb/reviews/bajaj-allianz.md index ccd6044bcf6189497422325ab6fa122d80d03a08..4b93387a8cf7d5d94ea78955985390a1fd2438a5 100644 --- a/kb/reviews/bajaj-allianz.md +++ b/kb/reviews/bajaj-allianz.md @@ -1,6 +1,6 @@ # Bajaj Allianz General Insurance — Reputation Sheet -_Auto-generated from `data/reviews/bajaj-allianz.json`. Reviews are the v1 substitute for live regulator + sentiment monitoring. Re-build with `python -m rag.build_kb`._ +_Auto-generated from `40-data/reviews/bajaj-allianz.json`. Reviews are the v1 substitute for live regulator + sentiment monitoring. Re-build with `python -m rag.build_kb`._ **Aggregate score:** **84.5** (B). _Industry-leading complaints record (3 per 10K) and high CSR (92.2%); third-largest non-life insurer in India_ @@ -44,6 +44,6 @@ _Auto-generated from `data/reviews/bajaj-allianz.json`. Reviews are the v1 subst --- -_Aggregate score formula: 0.40 × CSR + 0.20 × inverse-complaints + 0.15 × avg-aggregator-star + 0.10 × reddit + 0.10 × youtube + 0.05 × news. See `data/reviews/INDEX.md` for the leaderboard._ +_Aggregate score formula: 0.40 × CSR + 0.20 × inverse-complaints + 0.15 × avg-aggregator-star + 0.10 × reddit + 0.10 × youtube + 0.05 × news. See `40-data/reviews/INDEX.md` for the leaderboard._ **Flows into the bot via:** `score_claim_experience()` in `backend/scorecard.py` — IRDAI CSR + complaints become Claim Experience sub-score signals for every policy this insurer offers. \ No newline at end of file diff --git a/kb/reviews/care-health.md b/kb/reviews/care-health.md index fefe2af1b3f35f63baaa31a1ef844acd59a9ef0d..4e0776d62e2e57c0e750221c7e8116151fb95044 100644 --- a/kb/reviews/care-health.md +++ b/kb/reviews/care-health.md @@ -1,6 +1,6 @@ # Care Health Insurance — Reputation Sheet -_Auto-generated from `data/reviews/care-health.json`. Reviews are the v1 substitute for live regulator + sentiment monitoring. Re-build with `python -m rag.build_kb`._ +_Auto-generated from `40-data/reviews/care-health.json`. Reviews are the v1 substitute for live regulator + sentiment monitoring. Re-build with `python -m rag.build_kb`._ **Aggregate score:** **70.4** (B). _Solid CSR (93%) and YouTube/advisor endorsement, but bottom-of-table ICR (57.7%) and complaints volume drag the score_ @@ -45,6 +45,6 @@ _Auto-generated from `data/reviews/care-health.json`. Reviews are the v1 substit --- -_Aggregate score formula: 0.40 × CSR + 0.20 × inverse-complaints + 0.15 × avg-aggregator-star + 0.10 × reddit + 0.10 × youtube + 0.05 × news. See `data/reviews/INDEX.md` for the leaderboard._ +_Aggregate score formula: 0.40 × CSR + 0.20 × inverse-complaints + 0.15 × avg-aggregator-star + 0.10 × reddit + 0.10 × youtube + 0.05 × news. See `40-data/reviews/INDEX.md` for the leaderboard._ **Flows into the bot via:** `score_claim_experience()` in `backend/scorecard.py` — IRDAI CSR + complaints become Claim Experience sub-score signals for every policy this insurer offers. \ No newline at end of file diff --git a/kb/reviews/hdfc-ergo.md b/kb/reviews/hdfc-ergo.md index 6db80f0a39d2604f067d2ad3b167ffee84369856..3dacb8add70cc77f0910e51984fffb554fc1429b 100644 --- a/kb/reviews/hdfc-ergo.md +++ b/kb/reviews/hdfc-ergo.md @@ -1,6 +1,6 @@ # HDFC ERGO General Insurance — Reputation Sheet -_Auto-generated from `data/reviews/hdfc-ergo.json`. Reviews are the v1 substitute for live regulator + sentiment monitoring. Re-build with `python -m rag.build_kb`._ +_Auto-generated from `40-data/reviews/hdfc-ergo.json`. Reviews are the v1 substitute for live regulator + sentiment monitoring. Re-build with `python -m rag.build_kb`._ **Aggregate score:** **85.7** (A). _Industry-leading claim settlement ratio (99.1%) with low complaints (15 per 10K) and strong YouTube/advisor recommendation_ @@ -50,6 +50,6 @@ _Auto-generated from `data/reviews/hdfc-ergo.json`. Reviews are the v1 substitut --- -_Aggregate score formula: 0.40 × CSR + 0.20 × inverse-complaints + 0.15 × avg-aggregator-star + 0.10 × reddit + 0.10 × youtube + 0.05 × news. See `data/reviews/INDEX.md` for the leaderboard._ +_Aggregate score formula: 0.40 × CSR + 0.20 × inverse-complaints + 0.15 × avg-aggregator-star + 0.10 × reddit + 0.10 × youtube + 0.05 × news. See `40-data/reviews/INDEX.md` for the leaderboard._ **Flows into the bot via:** `score_claim_experience()` in `backend/scorecard.py` — IRDAI CSR + complaints become Claim Experience sub-score signals for every policy this insurer offers. \ No newline at end of file diff --git a/kb/reviews/icici-lombard.md b/kb/reviews/icici-lombard.md index 6f5404ccb35783038aa3bb334522474958af7be1..6e6310eea3d58f70e79ff06bbbb765e4088af9b2 100644 --- a/kb/reviews/icici-lombard.md +++ b/kb/reviews/icici-lombard.md @@ -1,6 +1,6 @@ # ICICI Lombard General Insurance — Reputation Sheet -_Auto-generated from `data/reviews/icici-lombard.json`. Reviews are the v1 substitute for live regulator + sentiment monitoring. Re-build with `python -m rag.build_kb`._ +_Auto-generated from `40-data/reviews/icici-lombard.json`. Reviews are the v1 substitute for live regulator + sentiment monitoring. Re-build with `python -m rag.build_kb`._ **Aggregate score:** **73.5** (B). _Strongest complaint metrics in the cohort (10 per 10K) and solid financials, but health CSR (85%) lags peers like HDFC ERGO and Bajaj_ @@ -44,6 +44,6 @@ _Auto-generated from `data/reviews/icici-lombard.json`. Reviews are the v1 subst --- -_Aggregate score formula: 0.40 × CSR + 0.20 × inverse-complaints + 0.15 × avg-aggregator-star + 0.10 × reddit + 0.10 × youtube + 0.05 × news. See `data/reviews/INDEX.md` for the leaderboard._ +_Aggregate score formula: 0.40 × CSR + 0.20 × inverse-complaints + 0.15 × avg-aggregator-star + 0.10 × reddit + 0.10 × youtube + 0.05 × news. See `40-data/reviews/INDEX.md` for the leaderboard._ **Flows into the bot via:** `score_claim_experience()` in `backend/scorecard.py` — IRDAI CSR + complaints become Claim Experience sub-score signals for every policy this insurer offers. \ No newline at end of file diff --git a/kb/reviews/manipalcigna.md b/kb/reviews/manipalcigna.md index ff3e6bae8ee21648baf4de9772c99dbde1396932..2eaade431af317e66794b416d68be894d5cf9b1f 100644 --- a/kb/reviews/manipalcigna.md +++ b/kb/reviews/manipalcigna.md @@ -1,6 +1,6 @@ # ManipalCigna Health Insurance — Reputation Sheet -_Auto-generated from `data/reviews/manipalcigna.json`. Reviews are the v1 substitute for live regulator + sentiment monitoring. Re-build with `python -m rag.build_kb`._ +_Auto-generated from `40-data/reviews/manipalcigna.json`. Reviews are the v1 substitute for live regulator + sentiment monitoring. Re-build with `python -m rag.build_kb`._ **Aggregate score:** **76.3** (B). _High reported CSR (99%) and Manipal-hospital network advantage; smaller scale and above-median complaints temper the score_ @@ -43,6 +43,6 @@ _Auto-generated from `data/reviews/manipalcigna.json`. Reviews are the v1 substi --- -_Aggregate score formula: 0.40 × CSR + 0.20 × inverse-complaints + 0.15 × avg-aggregator-star + 0.10 × reddit + 0.10 × youtube + 0.05 × news. See `data/reviews/INDEX.md` for the leaderboard._ +_Aggregate score formula: 0.40 × CSR + 0.20 × inverse-complaints + 0.15 × avg-aggregator-star + 0.10 × reddit + 0.10 × youtube + 0.05 × news. See `40-data/reviews/INDEX.md` for the leaderboard._ **Flows into the bot via:** `score_claim_experience()` in `backend/scorecard.py` — IRDAI CSR + complaints become Claim Experience sub-score signals for every policy this insurer offers. \ No newline at end of file diff --git a/kb/reviews/new-india.md b/kb/reviews/new-india.md index 7739ee3274378efeb8cc6f0d9c46958bc2409c93..7d39049665aa91e98e06af9f2c86966cc749db91 100644 --- a/kb/reviews/new-india.md +++ b/kb/reviews/new-india.md @@ -1,6 +1,6 @@ # New India Assurance — Reputation Sheet -_Auto-generated from `data/reviews/new-india.json`. Reviews are the v1 substitute for live regulator + sentiment monitoring. Re-build with `python -m rag.build_kb`._ +_Auto-generated from `40-data/reviews/new-india.json`. Reviews are the v1 substitute for live regulator + sentiment monitoring. Re-build with `python -m rag.build_kb`._ **Aggregate score:** **78.6** (B). _Highest claim payout among general insurers (ICR 103%, CSR 95% by count); PSU service experience drags consumer-perception score_ @@ -43,6 +43,6 @@ _Auto-generated from `data/reviews/new-india.json`. Reviews are the v1 substitut --- -_Aggregate score formula: 0.40 × CSR + 0.20 × inverse-complaints + 0.15 × avg-aggregator-star + 0.10 × reddit + 0.10 × youtube + 0.05 × news. See `data/reviews/INDEX.md` for the leaderboard._ +_Aggregate score formula: 0.40 × CSR + 0.20 × inverse-complaints + 0.15 × avg-aggregator-star + 0.10 × reddit + 0.10 × youtube + 0.05 × news. See `40-data/reviews/INDEX.md` for the leaderboard._ **Flows into the bot via:** `score_claim_experience()` in `backend/scorecard.py` — IRDAI CSR + complaints become Claim Experience sub-score signals for every policy this insurer offers. \ No newline at end of file diff --git a/kb/reviews/niva-bupa.md b/kb/reviews/niva-bupa.md index d97956991be0b186bf8304b0e99aa442f95800f3..b7e5e060ec395b08a302019af8a0208f0657c0a9 100644 --- a/kb/reviews/niva-bupa.md +++ b/kb/reviews/niva-bupa.md @@ -1,6 +1,6 @@ # Niva Bupa Health Insurance — Reputation Sheet -_Auto-generated from `data/reviews/niva-bupa.json`. Reviews are the v1 substitute for live regulator + sentiment monitoring. Re-build with `python -m rag.build_kb`._ +_Auto-generated from `40-data/reviews/niva-bupa.json`. Reviews are the v1 substitute for live regulator + sentiment monitoring. Re-build with `python -m rag.build_kb`._ **Aggregate score:** **75.8** (B). _Strong CSR (91.6%) and growth post-IPO; complaints volume above industry average is the main drag_ @@ -50,6 +50,6 @@ _Auto-generated from `data/reviews/niva-bupa.json`. Reviews are the v1 substitut --- -_Aggregate score formula: 0.40 × CSR + 0.20 × inverse-complaints + 0.15 × avg-aggregator-star + 0.10 × reddit + 0.10 × youtube + 0.05 × news. See `data/reviews/INDEX.md` for the leaderboard._ +_Aggregate score formula: 0.40 × CSR + 0.20 × inverse-complaints + 0.15 × avg-aggregator-star + 0.10 × reddit + 0.10 × youtube + 0.05 × news. See `40-data/reviews/INDEX.md` for the leaderboard._ **Flows into the bot via:** `score_claim_experience()` in `backend/scorecard.py` — IRDAI CSR + complaints become Claim Experience sub-score signals for every policy this insurer offers. \ No newline at end of file diff --git a/kb/reviews/star-health.md b/kb/reviews/star-health.md index 0fc0a410f7dde3c6f8d945231cacbcb375bce8bc..87d9aee023a09cef453d031f63d0fea20f29568d 100644 --- a/kb/reviews/star-health.md +++ b/kb/reviews/star-health.md @@ -1,6 +1,6 @@ # Star Health & Allied Insurance — Reputation Sheet -_Auto-generated from `data/reviews/star-health.json`. Reviews are the v1 substitute for live regulator + sentiment monitoring. Re-build with `python -m rag.build_kb`._ +_Auto-generated from `40-data/reviews/star-health.json`. Reviews are the v1 substitute for live regulator + sentiment monitoring. Re-build with `python -m rag.build_kb`._ **Aggregate score:** **60.4** (C). _India's largest standalone health insurer by premium, but under IRDAI scrutiny for the sector's highest complaint volume (13,308 in FY24) and lowest CSR (82.3%) among standalone insurers_ @@ -48,6 +48,6 @@ _Auto-generated from `data/reviews/star-health.json`. Reviews are the v1 substit --- -_Aggregate score formula: 0.40 × CSR + 0.20 × inverse-complaints + 0.15 × avg-aggregator-star + 0.10 × reddit + 0.10 × youtube + 0.05 × news. See `data/reviews/INDEX.md` for the leaderboard._ +_Aggregate score formula: 0.40 × CSR + 0.20 × inverse-complaints + 0.15 × avg-aggregator-star + 0.10 × reddit + 0.10 × youtube + 0.05 × news. See `40-data/reviews/INDEX.md` for the leaderboard._ **Flows into the bot via:** `score_claim_experience()` in `backend/scorecard.py` — IRDAI CSR + complaints become Claim Experience sub-score signals for every policy this insurer offers. \ No newline at end of file diff --git a/kb/reviews/tata-aig.md b/kb/reviews/tata-aig.md index 5fc6255f4df98cac2697891892b3f76ef106b8ad..a911c3a9461d57c1e04143f7d7e0534d8cbb415e 100644 --- a/kb/reviews/tata-aig.md +++ b/kb/reviews/tata-aig.md @@ -1,6 +1,6 @@ # Tata AIG General Insurance — Reputation Sheet -_Auto-generated from `data/reviews/tata-aig.json`. Reviews are the v1 substitute for live regulator + sentiment monitoring. Re-build with `python -m rag.build_kb`._ +_Auto-generated from `40-data/reviews/tata-aig.json`. Reviews are the v1 substitute for live regulator + sentiment monitoring. Re-build with `python -m rag.build_kb`._ **Aggregate score:** **75.6** (B). _Solid mid-tier player: 88.7% CSR, low complaints (~11 per 10K), strong brand & global-coverage products_ @@ -43,6 +43,6 @@ _Auto-generated from `data/reviews/tata-aig.json`. Reviews are the v1 substitute --- -_Aggregate score formula: 0.40 × CSR + 0.20 × inverse-complaints + 0.15 × avg-aggregator-star + 0.10 × reddit + 0.10 × youtube + 0.05 × news. See `data/reviews/INDEX.md` for the leaderboard._ +_Aggregate score formula: 0.40 × CSR + 0.20 × inverse-complaints + 0.15 × avg-aggregator-star + 0.10 × reddit + 0.10 × youtube + 0.05 × news. See `40-data/reviews/INDEX.md` for the leaderboard._ **Flows into the bot via:** `score_claim_experience()` in `backend/scorecard.py` — IRDAI CSR + complaints become Claim Experience sub-score signals for every policy this insurer offers. \ No newline at end of file