Jun 16, 2026 – Jul 16, 2026
ensure token number is always uppercase
Rithvik Nishad ·ensure token number is always uppercase
Rithvik Nishad ·[QA-214] Fix flaky device service history edit flow test
Mohammed Nihal ·Remove unneeded defensive code in useMultiFilterState
Jacob John Jeevan ·[ENG-754] Resolve react-hooks/refs violations
Mohammed Nihal ·[ENG-747] Enhance patient age display for different flows (vaccination, infant care)
Jacob John Jeevan ·[QA-210] Allow QA project key in PR title JIRA validation
Mohammed Nihal ·[ENG-748] fix: text overflow in Administration Table
Rithvik Nishad ·[ENG - 506] Add support for custom links in the left sidebar
Mohammed Nihal ·[ENG-707]: Default account close reason to completed for settled accounts
Mohammed Nihal ·Add a unit-test harness (Vitest), typecheck script, and CI gates
Mohammed Nihal ·Add characterization tests for monetary component math and medication active-window logic
Mohammed Nihal ·move `dompurify` package to dependencies (#16532)
Rithvik Nishad ·Update care_token_display name in README
Rithvik Nishad ·Revert "ENG-549: Redesign the tv token display"
Rithvik Nishad ·feat(inventory): add expiry date column to supply delivery table (ENG-613)
Jacob John Jeevan ·Fix js/trivial-conditional CodeQL quality alerts
Rithvik Nishad ·[ENG-754] Resolve react-hooks/refs violations
Rithvik Nishad ·[ENG-752] Resolve react-hooks/purity violations and enforce the rule
Rithvik Nishad ·Care loop
Jacob John Jeevan ·ABDM scrape fails with HTTP 403 (CloudFront WAF block) in GitHub Actions
Rithvik Nishad ·Fix ABDM scrape HTTP 403 in CI by sending a browser User-Agent
Rithvik Nishad ·Fix ABDM scrape HTTP 403 in CI by sending a browser User-Agent
Rithvik Nishad ·ABDM scrape fails with HTTP 403 (CloudFront WAF block) in GitHub Actions
Rithvik Nishad ·update data
Rithvik Nishad ·Add retries
Rithvik Nishad ·playwright skill: UI over api
Jacob John Jeevan ·🧩 Add GenericAutocomplete with radio mode + refactor HealthcareServiceSelector
Jacob John Jeevan ·[ENG-680] [ENG-699] Add date filter for invoice list
Mohammed Nihal ·[ENG-729] Consolidate invoice print pages
Jacob John Jeevan ·Clear persisted query cache on logout
Rithvik Nishad ·Consolidate duplicated invoice print layouts
Jacob John Jeevan ·refact: add medication and service request shortcut keys
Mohammed Nihal ·Add MIT License to the project
Rithvik Nishad ·fix(site): restore careui Tabs layout by adding shadcn custom variants careui components (Tabs et al.) rely on custom Tailwind variants (data-horizontal, data-active, ...) that careui gets from shadcn/tailwind.css. Our globals.css never defined them, so the Tabs root missed flex-col and the TabsList rendered as a full-height box beside the chart. Vendored the @custom-variant block into globals.css. Co-authored-by: Copilot App <[email protected]>
Rithvik Nishad ·add scraper
Rithvik Nishad ·Add derived insight metrics to the Overview dashboard - build-data: 7d vs prev-7d growth %, 7/30-day run-rates, active-partner counts (7d/30d), linkage depth (records per ABHA linked, 30d, overall and per partner), cumulative weekly growth series - stat cards: background 30-day sparkline + weekly growth badge - new insight cards row: active partners, daily run-rate, linkage depth - new cumulative growth chart (records linked / ABHAs, tabbed) - format helpers: fmtSignedPct, fmtRate Co-authored-by: Copilot App <[email protected]>
Rithvik Nishad ·Merge AGENTS.md into CLAUDE.md for unified guidance
Jacob John Jeevan ·Merge AGENTS.md into CLAUDE.md for unified guidance
Rithvik Nishad ·move `dompurify` package to dependencies
Rithvik Nishad ·AGENTS.md and CLAUDE.md have diverged — pick one source of truth
Rithvik Nishad ·ensure token number is always uppercase
Rithvik Nishad ·ensure token number is always uppercase
Rithvik Nishad ·[QA-214] Fix flaky device service history edit flow test
Mohammed Nihal ·Remove unneeded defensive code in useMultiFilterState
Jacob John Jeevan ·[ENG-754] Resolve react-hooks/refs violations
Mohammed Nihal ·[ENG-747] Enhance patient age display for different flows (vaccination, infant care)
Jacob John Jeevan ·[QA-210] Allow QA project key in PR title JIRA validation
Mohammed Nihal ·[ENG-748] fix: text overflow in Administration Table
Rithvik Nishad ·[ENG - 506] Add support for custom links in the left sidebar
Mohammed Nihal ·[ENG-707]: Default account close reason to completed for settled accounts
Mohammed Nihal ·Add a unit-test harness (Vitest), typecheck script, and CI gates
Mohammed Nihal ·Add characterization tests for monetary component math and medication active-window logic
Mohammed Nihal ·move `dompurify` package to dependencies (#16532)
Rithvik Nishad ·Update care_token_display name in README
Rithvik Nishad ·Revert "ENG-549: Redesign the tv token display"
Rithvik Nishad ·feat(inventory): add expiry date column to supply delivery table (ENG-613)
Jacob John Jeevan ·Fix js/trivial-conditional CodeQL quality alerts
Rithvik Nishad ·[ENG-754] Resolve react-hooks/refs violations
Rithvik Nishad ·[ENG-752] Resolve react-hooks/purity violations and enforce the rule
Rithvik Nishad ·Care loop
Jacob John Jeevan ·ABDM scrape fails with HTTP 403 (CloudFront WAF block) in GitHub Actions
Rithvik Nishad ·Fix ABDM scrape HTTP 403 in CI by sending a browser User-Agent
Rithvik Nishad ·Fix ABDM scrape HTTP 403 in CI by sending a browser User-Agent
Rithvik Nishad ·ABDM scrape fails with HTTP 403 (CloudFront WAF block) in GitHub Actions
Rithvik Nishad ·update data
Rithvik Nishad ·Add retries
Rithvik Nishad ·playwright skill: UI over api
Jacob John Jeevan ·🧩 Add GenericAutocomplete with radio mode + refactor HealthcareServiceSelector
Jacob John Jeevan ·[ENG-680] [ENG-699] Add date filter for invoice list
Mohammed Nihal ·[ENG-729] Consolidate invoice print pages
Jacob John Jeevan ·Clear persisted query cache on logout
Rithvik Nishad ·Consolidate duplicated invoice print layouts
Jacob John Jeevan ·refact: add medication and service request shortcut keys
Mohammed Nihal ·Add MIT License to the project
Rithvik Nishad ·fix(site): restore careui Tabs layout by adding shadcn custom variants careui components (Tabs et al.) rely on custom Tailwind variants (data-horizontal, data-active, ...) that careui gets from shadcn/tailwind.css. Our globals.css never defined them, so the Tabs root missed flex-col and the TabsList rendered as a full-height box beside the chart. Vendored the @custom-variant block into globals.css. Co-authored-by: Copilot App <[email protected]>
Rithvik Nishad ·add scraper
Rithvik Nishad ·Add derived insight metrics to the Overview dashboard - build-data: 7d vs prev-7d growth %, 7/30-day run-rates, active-partner counts (7d/30d), linkage depth (records per ABHA linked, 30d, overall and per partner), cumulative weekly growth series - stat cards: background 30-day sparkline + weekly growth badge - new insight cards row: active partners, daily run-rate, linkage depth - new cumulative growth chart (records linked / ABHAs, tabbed) - format helpers: fmtSignedPct, fmtRate Co-authored-by: Copilot App <[email protected]>
Rithvik Nishad ·Merge AGENTS.md into CLAUDE.md for unified guidance
Jacob John Jeevan ·Merge AGENTS.md into CLAUDE.md for unified guidance
Rithvik Nishad ·move `dompurify` package to dependencies
Rithvik Nishad ·AGENTS.md and CLAUDE.md have diverged — pick one source of truth
Rithvik Nishad ·[ENG-735] Add pagination in Dispense History selector
Mohammed Nihal ·ensure token number is always uppercase (#17)
Rithvik Nishad ·Fix js/trivial-conditional CodeQL quality alerts
Mohammed Nihal ·Remove unneeded defensive code in useMultiFilterState
Mohammed Nihal ·[ENG-754] Resolve react-hooks/refs violations
Mohammed Nihal ·[ENG-642] Add clear button and adjust styling for questionnaire question types
Mohammed Nihal ·[QA-210] Allow QA project key in PR title JIRA validation
Rithvik Nishad ·Revert "ENG-549: Redesign the tv token display"
Rithvik Nishad ·[ENG-613] Added expiry date to supply delivery table
Jacob John Jeevan ·"Clear" does not reset the facility name search filter
Jacob John Jeevan ·Add a unit-test harness (Vitest), typecheck script, and CI gates
Mohammed Nihal ·[ENG-613] Add expiry date column to supply delivery table
Jacob John Jeevan ·Request layer: bound the paginated fetch loop and fix double body consumption
Mohammed Nihal ·move `dompurify` package to dependencies
Rithvik Nishad ·[ENG-744] Highlight dosages when they aren't 1
Mohammed Nihal ·Register Components for Plugins using Vite
Mohammed Nihal ·[ENG-613] add expiry date in supply delivery table
Jacob John Jeevan ·[ENG-648] chore: care-loopd CI round-trip probe
Jacob John Jeevan ·[ENG-421] feat: enhance questionnaire with repeatable groups
Mohammed Nihal ·Remove unneeded defensive code in useMultiFilterState
Rithvik Nishad ·[ENG-753] Resolve react-hooks/preserve-manual-memoization violations
Rithvik Nishad ·feat(ENG-648): add GenericAutocomplete<T> with radio mode
Jacob John Jeevan ·[ENG-729] Consolidate PrintInvoice/PrintInvoices — extract shared InvoicePrintBody
Jacob John Jeevan ·Add browser User-Agent to ABDM client to avoid CloudFront 403 (#3) The ABDM dashboard is behind a CloudFront WAF that blocks requests using Node/undici's default programmatic User-Agent when they come from datacenter IPs (e.g. GitHub Actions runners), causing HTTP 403 in CI while working locally. Send a browser-like User-Agent and Accept-Language header on every request. Fixes #2 Co-authored-by: Copilot App <[email protected]>
Rithvik Nishad ·ABDM scrape fails with HTTP 403 (CloudFront WAF block) in GitHub Actions
Rithvik Nishad ·Add retries
Rithvik Nishad ·update data
Rithvik Nishad ·fix css build warning
Rithvik Nishad ·update federation name
Rithvik Nishad ·🔍 ENG-559 Add pagination and search to user departments tab
Jacob John Jeevan ·[ENG-642] Questionnaire value-entry cleanup: all-or-nothing quantity + clearable inputs
Jacob John Jeevan ·✨ Add generic type-safe autocomplete with radio variant (ENG-648)
Jacob John Jeevan ·[ENG-663] fix: form style issues
Mohammed Nihal ·[ENG-729] Consolidate invoice print pages
Jacob John Jeevan ·Merge AGENTS.md into CLAUDE.md for unified guidance
Rithvik Nishad ·Add Scan & Share and richer record-linkage metrics Scraper: new facilitytoken/1.0 jobs — bridge names, per-partner daily token trends (30d + full history), active states and facilities. Partner name travels in profType for these jobs (new Job.partnerField option). Global scan-&-share aggregates are excluded (they ignore partner filters). Normalizer: scan & share per-partner rollups (lifetime/30d/today tokens, facilities, states, first-activity date), combined + cumulative token series, summary.sas insights, and ABHAs-linked promoted to a first-class metric with totals, trends and cumulative series. Site: overview gains ABHAs-linked and Scan & Share stat cards, token trend chart, footprint insight card, S&S partner breakdown and two new cumulative tabs. Partners explorer gains a Scan & Share tab with token trends, facility/state columns and per-partner badges. Co-authored-by: Copilot App <[email protected]>
Rithvik Nishad ·refact: add medication and service request shortcut keys
Mohammed Nihal ·docs: add README Co-authored-by: Copilot App <[email protected]>
Rithvik Nishad ·chore(site): remove allowlist/config mentions from user-facing copy Co-authored-by: Copilot App <[email protected]>
Rithvik Nishad ·feat(site): Care brand favicon + sitemap/robots - Favicon set from careui brand assets (Care icon): icon.svg, favicon.ico (16/32/48), apple-icon.png (180) - sitemap.xml + robots.txt via app router metadata routes, canonical origin https://usage.ohc.network (src/lib/site.ts) - metadataBase set in root layout Co-authored-by: Copilot App <[email protected]>
Rithvik Nishad ·Restructure as care-usage-tracker (multi-tracker layout) - Pipeline: scraper/ + scripts/ -> trackers/abdm/; config/abdm/partners.yaml; data/abdm/{raw,normalized}; npm scripts scrape:abdm / build-data:abdm - Site: rebrand to CARE Usage Tracker; home page is a tracker registry (src/lib/trackers.ts); ABDM pages move to /abdm/ and /abdm/partners/ with a nested layout carrying NHA attribution + snapshot date; ABDM components/lib/data under abdm/ namespaces Co-authored-by: Copilot App <[email protected]>
Rithvik Nishad ·Request layer: bound the paginated fetch loop and fix double body consumption
Rithvik Nishad ·Scope entire pipeline and site to the partner allowlist - scraper: drop all aggregate jobs (national/state counters, age/gender, statewise, quarterly, facilities, professionals) — only masters, allowlisted partner totals, and per-partner trends are collected - build-data: artifacts reduced to meta/summary/partners/partner-trends, all derived exclusively from tracked partners; adds combined trend series, statewise sums across tracked partners, and derived counters (total / today / last 30 days) - site Overview rebuilt: tracked-partner stat cards, combined ABHA/HRL trends, partner breakdown, statewise charts — no aggregates outside the allowlist anywhere - removed unused distribution/quarterly charts and stale artifacts - fresh 2026-07-09 snapshot (150 requests, 0 failures) Co-authored-by: Copilot App <[email protected]>
Rithvik Nishad ·Merge AGENTS.md into CLAUDE.md for unified guidance
Jacob John Jeevan ·move `dompurify` package to dependencies
Jacob John Jeevan ·Dependency manifest hygiene: dompurify to dependencies, drop ts-node, dedupe zod
Rithvik Nishad ·[ENG-735] Add pagination in Dispense History selector
Mohammed Nihal ·ensure token number is always uppercase (#17)
Rithvik Nishad ·Fix js/trivial-conditional CodeQL quality alerts
Mohammed Nihal ·Remove unneeded defensive code in useMultiFilterState
Mohammed Nihal ·[ENG-754] Resolve react-hooks/refs violations
Mohammed Nihal ·[ENG-642] Add clear button and adjust styling for questionnaire question types
Mohammed Nihal ·[QA-210] Allow QA project key in PR title JIRA validation
Rithvik Nishad ·Revert "ENG-549: Redesign the tv token display"
Rithvik Nishad ·[ENG-613] Added expiry date to supply delivery table
Jacob John Jeevan ·"Clear" does not reset the facility name search filter
Jacob John Jeevan ·Add a unit-test harness (Vitest), typecheck script, and CI gates
Mohammed Nihal ·[ENG-613] Add expiry date column to supply delivery table
Jacob John Jeevan ·Request layer: bound the paginated fetch loop and fix double body consumption
Mohammed Nihal ·move `dompurify` package to dependencies
Rithvik Nishad ·[ENG-744] Highlight dosages when they aren't 1
Mohammed Nihal ·Register Components for Plugins using Vite
Mohammed Nihal ·[ENG-613] add expiry date in supply delivery table
Jacob John Jeevan ·[ENG-648] chore: care-loopd CI round-trip probe
Jacob John Jeevan ·[ENG-421] feat: enhance questionnaire with repeatable groups
Mohammed Nihal ·Remove unneeded defensive code in useMultiFilterState
Rithvik Nishad ·[ENG-753] Resolve react-hooks/preserve-manual-memoization violations
Rithvik Nishad ·feat(ENG-648): add GenericAutocomplete<T> with radio mode
Jacob John Jeevan ·[ENG-729] Consolidate PrintInvoice/PrintInvoices — extract shared InvoicePrintBody
Jacob John Jeevan ·Add browser User-Agent to ABDM client to avoid CloudFront 403 (#3) The ABDM dashboard is behind a CloudFront WAF that blocks requests using Node/undici's default programmatic User-Agent when they come from datacenter IPs (e.g. GitHub Actions runners), causing HTTP 403 in CI while working locally. Send a browser-like User-Agent and Accept-Language header on every request. Fixes #2 Co-authored-by: Copilot App <[email protected]>
Rithvik Nishad ·ABDM scrape fails with HTTP 403 (CloudFront WAF block) in GitHub Actions
Rithvik Nishad ·Add retries
Rithvik Nishad ·update data
Rithvik Nishad ·fix css build warning
Rithvik Nishad ·update federation name
Rithvik Nishad ·🔍 ENG-559 Add pagination and search to user departments tab
Jacob John Jeevan ·[ENG-642] Questionnaire value-entry cleanup: all-or-nothing quantity + clearable inputs
Jacob John Jeevan ·✨ Add generic type-safe autocomplete with radio variant (ENG-648)
Jacob John Jeevan ·[ENG-663] fix: form style issues
Mohammed Nihal ·[ENG-729] Consolidate invoice print pages
Jacob John Jeevan ·Merge AGENTS.md into CLAUDE.md for unified guidance
Rithvik Nishad ·Add Scan & Share and richer record-linkage metrics Scraper: new facilitytoken/1.0 jobs — bridge names, per-partner daily token trends (30d + full history), active states and facilities. Partner name travels in profType for these jobs (new Job.partnerField option). Global scan-&-share aggregates are excluded (they ignore partner filters). Normalizer: scan & share per-partner rollups (lifetime/30d/today tokens, facilities, states, first-activity date), combined + cumulative token series, summary.sas insights, and ABHAs-linked promoted to a first-class metric with totals, trends and cumulative series. Site: overview gains ABHAs-linked and Scan & Share stat cards, token trend chart, footprint insight card, S&S partner breakdown and two new cumulative tabs. Partners explorer gains a Scan & Share tab with token trends, facility/state columns and per-partner badges. Co-authored-by: Copilot App <[email protected]>
Rithvik Nishad ·refact: add medication and service request shortcut keys
Mohammed Nihal ·docs: add README Co-authored-by: Copilot App <[email protected]>
Rithvik Nishad ·chore(site): remove allowlist/config mentions from user-facing copy Co-authored-by: Copilot App <[email protected]>
Rithvik Nishad ·feat(site): Care brand favicon + sitemap/robots - Favicon set from careui brand assets (Care icon): icon.svg, favicon.ico (16/32/48), apple-icon.png (180) - sitemap.xml + robots.txt via app router metadata routes, canonical origin https://usage.ohc.network (src/lib/site.ts) - metadataBase set in root layout Co-authored-by: Copilot App <[email protected]>
Rithvik Nishad ·Restructure as care-usage-tracker (multi-tracker layout) - Pipeline: scraper/ + scripts/ -> trackers/abdm/; config/abdm/partners.yaml; data/abdm/{raw,normalized}; npm scripts scrape:abdm / build-data:abdm - Site: rebrand to CARE Usage Tracker; home page is a tracker registry (src/lib/trackers.ts); ABDM pages move to /abdm/ and /abdm/partners/ with a nested layout carrying NHA attribution + snapshot date; ABDM components/lib/data under abdm/ namespaces Co-authored-by: Copilot App <[email protected]>
Rithvik Nishad ·Request layer: bound the paginated fetch loop and fix double body consumption
Rithvik Nishad ·Scope entire pipeline and site to the partner allowlist - scraper: drop all aggregate jobs (national/state counters, age/gender, statewise, quarterly, facilities, professionals) — only masters, allowlisted partner totals, and per-partner trends are collected - build-data: artifacts reduced to meta/summary/partners/partner-trends, all derived exclusively from tracked partners; adds combined trend series, statewise sums across tracked partners, and derived counters (total / today / last 30 days) - site Overview rebuilt: tracked-partner stat cards, combined ABHA/HRL trends, partner breakdown, statewise charts — no aggregates outside the allowlist anywhere - removed unused distribution/quarterly charts and stale artifacts - fresh 2026-07-09 snapshot (150 requests, 0 failures) Co-authored-by: Copilot App <[email protected]>
Rithvik Nishad ·Merge AGENTS.md into CLAUDE.md for unified guidance
Jacob John Jeevan ·move `dompurify` package to dependencies
Jacob John Jeevan ·Dependency manifest hygiene: dompurify to dependencies, drop ts-node, dedupe zod
Rithvik Nishad ·Merged a Pull Request
Opened a Pull Request
Raised an Issue