# Test Coverage Plan (தமிழ்) 🌐 **Languages:** 🇺🇸 [English](../../../../ops/COVERAGE_PLAN.md) · 🇪🇹 [am](../../../am/docs/ops/COVERAGE_PLAN.md) · 🇸🇦 [ar](../../../ar/docs/ops/COVERAGE_PLAN.md) · 🇦🇿 [az](../../../az/docs/ops/COVERAGE_PLAN.md) · 🇧🇬 [bg](../../../bg/docs/ops/COVERAGE_PLAN.md) · 🇧🇩 [bn](../../../bn/docs/ops/COVERAGE_PLAN.md) · 🇧🇦 [bs](../../../bs/docs/ops/COVERAGE_PLAN.md) · 🇨🇿 [cs](../../../cs/docs/ops/COVERAGE_PLAN.md) · 🇩🇰 [da](../../../da/docs/ops/COVERAGE_PLAN.md) · 🇩🇪 [de](../../../de/docs/ops/COVERAGE_PLAN.md) · 🇬🇷 [el](../../../el/docs/ops/COVERAGE_PLAN.md) · 🇪🇸 [es](../../../es/docs/ops/COVERAGE_PLAN.md) · 🇪🇪 [et](../../../et/docs/ops/COVERAGE_PLAN.md) · 🇮🇷 [fa](../../../fa/docs/ops/COVERAGE_PLAN.md) · 🇫🇮 [fi](../../../fi/docs/ops/COVERAGE_PLAN.md) · 🇫🇷 [fr](../../../fr/docs/ops/COVERAGE_PLAN.md) · 🇮🇪 [ga](../../../ga/docs/ops/COVERAGE_PLAN.md) · 🇮🇳 [gu](../../../gu/docs/ops/COVERAGE_PLAN.md) · 🇳🇬 [ha](../../../ha/docs/ops/COVERAGE_PLAN.md) · 🇮🇱 [he](../../../he/docs/ops/COVERAGE_PLAN.md) · 🇮🇳 [hi](../../../hi/docs/ops/COVERAGE_PLAN.md) · 🇭🇷 [hr](../../../hr/docs/ops/COVERAGE_PLAN.md) · 🇭🇺 [hu](../../../hu/docs/ops/COVERAGE_PLAN.md) · 🇦🇲 [hy](../../../hy/docs/ops/COVERAGE_PLAN.md) · 🇮🇩 [id](../../../id/docs/ops/COVERAGE_PLAN.md) · 🇳🇬 [ig](../../../ig/docs/ops/COVERAGE_PLAN.md) · 🇮🇹 [it](../../../it/docs/ops/COVERAGE_PLAN.md) · 🇯🇵 [ja](../../../ja/docs/ops/COVERAGE_PLAN.md) · 🇬🇪 [ka](../../../ka/docs/ops/COVERAGE_PLAN.md) · 🇰🇭 [km](../../../km/docs/ops/COVERAGE_PLAN.md) · 🇮🇳 [kn](../../../kn/docs/ops/COVERAGE_PLAN.md) · 🇰🇷 [ko](../../../ko/docs/ops/COVERAGE_PLAN.md) · 🇱🇹 [lt](../../../lt/docs/ops/COVERAGE_PLAN.md) · 🇱🇻 [lv](../../../lv/docs/ops/COVERAGE_PLAN.md) · 🇮🇳 [ml](../../../ml/docs/ops/COVERAGE_PLAN.md) · 🇮🇳 [mr](../../../mr/docs/ops/COVERAGE_PLAN.md) · 🇲🇾 [ms](../../../ms/docs/ops/COVERAGE_PLAN.md) · 🇲🇹 [mt](../../../mt/docs/ops/COVERAGE_PLAN.md) · 🇲🇲 [my](../../../my/docs/ops/COVERAGE_PLAN.md) · 🇳🇵 [ne](../../../ne/docs/ops/COVERAGE_PLAN.md) · 🇳🇱 [nl](../../../nl/docs/ops/COVERAGE_PLAN.md) · 🇳🇴 [no](../../../no/docs/ops/COVERAGE_PLAN.md) · 🇮🇳 [or](../../../or/docs/ops/COVERAGE_PLAN.md) · 🇮🇳 [pa](../../../pa/docs/ops/COVERAGE_PLAN.md) · 🇵🇭 [phi](../../../phi/docs/ops/COVERAGE_PLAN.md) · 🇵🇱 [pl](../../../pl/docs/ops/COVERAGE_PLAN.md) · 🇵🇹 [pt](../../../pt/docs/ops/COVERAGE_PLAN.md) · 🇧🇷 [pt-BR](../../../pt-BR/docs/ops/COVERAGE_PLAN.md) · 🇷🇴 [ro](../../../ro/docs/ops/COVERAGE_PLAN.md) · 🇷🇺 [ru](../../../ru/docs/ops/COVERAGE_PLAN.md) · 🇱🇰 [si](../../../si/docs/ops/COVERAGE_PLAN.md) · 🇸🇰 [sk](../../../sk/docs/ops/COVERAGE_PLAN.md) · 🇸🇮 [sl](../../../sl/docs/ops/COVERAGE_PLAN.md) · 🇷🇸 [sr](../../../sr/docs/ops/COVERAGE_PLAN.md) · 🇸🇪 [sv](../../../sv/docs/ops/COVERAGE_PLAN.md) · 🇰🇪 [sw](../../../sw/docs/ops/COVERAGE_PLAN.md) · 🇮🇳 [te](../../../te/docs/ops/COVERAGE_PLAN.md) · 🇹🇭 [th](../../../th/docs/ops/COVERAGE_PLAN.md) · 🇹🇷 [tr](../../../tr/docs/ops/COVERAGE_PLAN.md) · 🇺🇦 [uk-UA](../../../uk-UA/docs/ops/COVERAGE_PLAN.md) · 🇵🇰 [ur](../../../ur/docs/ops/COVERAGE_PLAN.md) · 🇺🇿 [uz](../../../uz/docs/ops/COVERAGE_PLAN.md) · 🇻🇳 [vi](../../../vi/docs/ops/COVERAGE_PLAN.md) · 🇳🇬 [yo](../../../yo/docs/ops/COVERAGE_PLAN.md) · 🇨🇳 [zh-CN](../../../zh-CN/docs/ops/COVERAGE_PLAN.md) · 🇹🇼 [zh-TW](../../../zh-TW/docs/ops/COVERAGE_PLAN.md) --- கடைசியாகப் புதுப்பிக்கப்பட்டது: 2026-06-28 > 2026-05-13 அன்று அளவிடப்பட்ட நிலை: வரிகள் 82.58%, கூற்றுகள் 82.58%, செயல்பாடுகள் 84.23%, கிளைகள் 75.22%. கட்டங்கள் 1-5 நிறைவடைந்துள்ளன. தற்போதைய கவனம் கட்டம் 6 (>=85%) மற்றும் கட்டம் 7 (>=90%) மீது உள்ளது. ## அடிப்படை அளவு அறிக்கை எவ்வாறு கணக்கிடப்படுகிறது என்பதைப் பொறுத்து பல கவரேஜ் எண்கள் உள்ளன. திட்டமிடுவதற்கு, அவற்றில் ஒன்று மட்டுமே பயனுள்ளதாகும். | அளவீடு | வரம்பு | கூற்றுகள் / வரிகள் | கிளைகள் | செயல்பாடுகள் | குறிப்புகள் | | -------------------------------- | ---------------------------------------------------------------------- | -----------------: | ------: | -----------: | ----------------------------------------------------------------------- | | மரபுவழி | பழைய `npm run test:coverage` | 79.42% | 75.15% | 67.94% | மிகைப்படுத்தப்பட்டது: சோதனைக் கோப்புகளை எண்ணி `open-sse`-ஐ விலக்குகிறது | | கண்டறிதல் | சோதனைகள் மற்றும் `open-sse` நீக்கப்பட்ட, மூலக் குறியீடு மட்டும் | 68.16% | 63.55% | 64.06% | `src/**`-ஐத் தனிமைப்படுத்துவதற்கு மட்டுமே பயனுள்ளது | | பரிந்துரைக்கப்பட்ட அடிப்படை அளவு | சோதனைகள் நீக்கப்பட்டு `open-sse` சேர்க்கப்பட்ட, மூலக் குறியீடு மட்டும் | 82.58% | 75.22% | 84.23% | மேம்படுத்த வேண்டிய திட்டம் முழுவதற்குமான அடிப்படை அளவு இது | பரிந்துரைக்கப்பட்ட அடிப்படை அளவையே மேம்படுத்துவதற்கான இலக்காகக் கொள்ள வேண்டும். ## விதிகள் - கவரேஜ் இலக்குகள் `tests/**`-க்கு அல்ல, மூலக் குறியீட்டுக் கோப்புகளுக்குப் பொருந்தும். - `open-sse/**` தயாரிப்பின் ஒரு பகுதியாகும்; அது வரம்பிற்குள் தொடர்ந்து இருக்க வேண்டும். - புதிய குறியீடு, மாற்றம் செய்யப்பட்ட பகுதிகளின் கவரேஜைக் குறைக்கக் கூடாது. - செயலாக்க விவரங்களைச் சோதிப்பதைவிட நடத்தையையும் கிளைகளின் விளைவுகளையும் சோதிப்பதற்கு முன்னுரிமை அளிக்கவும். - `src/lib/db/**`-க்கு விரிவான mocks-ஐப் பயன்படுத்துவதற்குப் பதிலாகத் தற்காலிக SQLite தரவுத்தளங்களையும் சிறிய fixtures-ஐயும் பயன்படுத்துவதற்கு முன்னுரிமை அளிக்கவும். ## தற்போதைய கட்டளைத் தொகுப்பு - `npm run test:coverage` - அலகுச் சோதனைத் தொகுப்பிற்கான முதன்மை மூலக் குறியீடு கவரேஜ் வாயில் - `text-summary`, `html`, `json-summary` மற்றும் `lcov` ஆகியவற்றை உருவாக்குகிறது - `npm run coverage:report` - சமீபத்திய இயக்கத்திலிருந்து விரிவான கோப்பு வாரியான அறிக்கை - `npm run test:coverage:legacy` - வரலாற்று ஒப்பீட்டிற்கு மட்டும் ## மைல்கற்கள் | கட்டம் | இலக்கு | கவனம் | நிலை | | -------- | ---------------------: | ------------------------------------------------------------- | ------------------ | | கட்டம் 1 | 60% கூற்றுகள் / வரிகள் | விரைவான பலன்கள் மற்றும் குறைந்த ஆபத்துள்ள பயன்பாட்டுக் கவரேஜ் | ✅ நிறைவடைந்தது | | கட்டம் 2 | 65% கூற்றுகள் / வரிகள் | DB மற்றும் route அடித்தளங்கள் | ✅ நிறைவடைந்தது | | கட்டம் 3 | 70% கூற்றுகள் / வரிகள் | Provider சரிபார்ப்பு மற்றும் பயன்பாட்டுப் பகுப்பாய்வு | ✅ நிறைவடைந்தது | | கட்டம் 4 | 75% கூற்றுகள் / வரிகள் | `open-sse` மொழிபெயர்ப்பிகள் மற்றும் உதவிக் கூறுகள் | ✅ நிறைவடைந்தது | | கட்டம் 5 | 80% கூற்றுகள் / வரிகள் | `open-sse` handlers மற்றும் executor கிளைகள் | ✅ நிறைவடைந்தது | | கட்டம் 6 | 85% கூற்றுகள் / வரிகள் | கடினமான விளிம்பு நிலைகள், கிளைக் கடன், regression தொகுப்புகள் | நடைபெற்று வருகிறது | | கட்டம் 7 | 90% கூற்றுகள் / வரிகள் | இறுதிச் சுற்று, இடைவெளிகளை மூடுதல், கடுமையான ratchet | நிலுவையில் உள்ளது | ஒவ்வொரு கட்டத்திலும் கிளைகள் மற்றும் செயல்பாடுகளின் அளவு படிப்படியாக உயர வேண்டும்; ஆனால் முதன்மையான கட்டாய இலக்கு கூற்றுகள் / வரிகளாகும். ## முன்னுரிமை அதிகமுள்ள பகுதிகள் இந்தக் கோப்புகள் தற்போது மிகக் குறைந்த வரிக் கவரேஜைக் கொண்டுள்ளன (< 60%); மேலும் கட்டங்கள் 6-7க்கு சிறந்த பலனை வழங்குகின்றன. 2026-05-13 அன்று `coverage/coverage-summary.json` இலிருந்து உருவாக்கப்பட்டது: | # | கோப்பு | வரிகள் % | | --- | ------------------------------------------------------------ | -------: | | 1 | `open-sse/services/compression/validation.ts` | 7.87% | | 2 | `src/app/api/v1/batches/route.ts` | 9.67% | | 3 | `src/app/docs/components/FeedbackWidget.tsx` | 9.80% | | 4 | `open-sse/services/compression/toolResultCompressor.ts` | 10.00% | | 5 | `src/app/docs/components/DocCodeBlocks.tsx` | 10.63% | | 6 | `open-sse/services/compression/engines/rtk/lineFilter.ts` | 10.96% | | 7 | `open-sse/services/specificityRules.ts` | 11.28% | | 8 | `src/mitm/systemCommands.ts` | 12.19% | | 9 | `open-sse/services/compression/aggressive.ts` | 12.77% | | 10 | `src/app/api/v1/batches/[id]/cancel/route.ts` | 12.98% | | 11 | `open-sse/services/compression/progressiveAging.ts` | 13.26% | | 12 | `open-sse/services/compression/engines/rtk/smartTruncate.ts` | 13.43% | | 13 | `open-sse/services/compression/engines/rtk/deduplicator.ts` | 13.51% | | 14 | `src/lib/cloudAgent/agents/jules.ts` | 13.52% | | 15 | `open-sse/services/compression/lite.ts` | 14.46% | | 16 | `src/app/api/v1/rerank/route.ts` | 14.94% | | 17 | `open-sse/services/compression/preservation.ts` | 15.07% | | 18 | `src/lib/cloudAgent/agents/codex.ts` | 15.54% | | 19 | `open-sse/services/tierResolver.ts` | 16.66% | | 20 | `src/app/docs/components/DocsLazyWrapper.tsx` | 16.66% | கட்டங்கள் 6-7க்கான கருப்பொருள்கள்: - `open-sse/services/compression/**` என்பது குறைந்த கவரேஜைக் கொண்ட கோப்புகளின் மிக அடர்த்தியான தொகுப்பாகும்; எஞ்சியுள்ள இடைவெளியில் இதுவே பெரும்பங்கு வகிக்கிறது. - தொகுதி மற்றும் மறுதரவரிசைப்படுத்தல் API வழித்தடங்களுக்கு (`src/app/api/v1/batches/**`, `src/app/api/v1/rerank/route.ts`) கையாளுநர்-நிலைச் சோதனைகள் தேவை. - கிளவுட் ஏஜென்ட் அடாப்டர்களுக்கும் (`src/lib/cloudAgent/agents/jules.ts`, `codex.ts`) `tierResolver.ts`க்கும் சூழ்நிலைச் சோதனைகள் தேவை. - ஆவண UI கூறுகளும் `src/mitm/systemCommands.ts`உம் குறைந்த முன்னுரிமை கொண்டவை; ஆனால் கிளைக் கவரேஜில் எளிதான முன்னேற்றங்களை வழங்கக்கூடியவை. ## செயல்படுத்தல் சரிபார்ப்புப் பட்டியல் ### கட்டம் 1: 56.95% -> 60% - [x] கவரேஜ் அளவீடு சோதனைக் கோப்புகளுக்குப் பதிலாக மூலக் குறியீட்டைப் பிரதிபலிக்குமாறு சரிசெய்தல் - [x] ஒப்பிடுவதற்காக முந்தைய கவரேஜ் ஸ்கிரிப்டைத் தொடர்ந்து வைத்திருத்தல் - [x] அடிப்படை நிலையையும் அதிக கவனம் தேவைப்படும் பகுதிகளையும் ரெப்போவில் பதிவுசெய்தல் - [ ] குறைந்த ஆபத்துள்ள பயன்பாட்டுக் கருவிகளுக்குக் குறிவைத்த சோதனைகளைச் சேர்த்தல்: - `src/shared/utils/upstreamError.ts` - `src/shared/utils/fetchTimeout.ts` - `src/lib/api/errorResponse.ts` - `src/shared/utils/apiAuth.ts` - `src/lib/display/names.ts` - [ ] பின்வருவனவற்றுக்கு வழித்தடச் சோதனைகளைச் சேர்த்தல்: - `src/app/api/settings/require-login/route.ts` - `src/app/api/providers/[id]/models/route.ts` ### கட்டம் 2: 60% -> 65% - [ ] பின்வருவனவற்றுக்கு தரவுத்தள ஆதரவுள்ள சோதனைகளைச் சேர்த்தல்: - `src/lib/db/modelComboMappings.ts` - `src/lib/db/settings.ts` - `src/lib/db/registeredKeys.ts` - [ ] பின்வருவனவற்றில் கிளை நடத்தையைக் கவரேஜில் கொண்டுவருதல்: - `src/lib/providers/validation.ts` - `src/app/api/v1/embeddings/route.ts` - `src/app/api/v1/moderations/route.ts` ### கட்டம் 3: 65% -> 70% - [ ] பின்வருவனவற்றுக்குப் பயன்பாட்டுப் பகுப்பாய்வுச் சோதனைகளைச் சேர்த்தல்: - `src/lib/usage/usageHistory.ts` - `src/lib/usage/usageStats.ts` - `src/lib/usage/costCalculator.ts` - [ ] ப்ராக்ஸி மேலாண்மை மற்றும் அமைப்புக் கிளைகளுக்கான வழித்தடக் கவரேஜை விரிவாக்குதல் ### கட்டம் 4: 70% -> 75% - [ ] மொழிபெயர்ப்புக் கருவிகளையும் மைய மொழிபெயர்ப்புப் பாதைகளையும் கவரேஜில் கொண்டுவருதல்: - `open-sse/translator/index.ts` - `open-sse/translator/helpers/*` - `open-sse/translator/request/*` - `open-sse/translator/response/*` ### கட்டம் 5: 75% -> 80% - [ ] பின்வருவனவற்றுக்குக் கையாளுநர்-நிலைச் சோதனைகளைச் சேர்த்தல்: - `open-sse/handlers/chatCore.ts` - `open-sse/handlers/responsesHandler.js` - `open-sse/handlers/imageGeneration.js` - `open-sse/handlers/embeddings.js` - [ ] வழங்குநர்-சார்ந்த அங்கீகரிப்பு, மறுமுயற்சிகள் மற்றும் இறுதிப்புள்ளி மேலெழுதல்களுக்கான எக்ஸிக்யூட்டர் கிளைக் கவரேஜைச் சேர்த்தல் ### கட்டம் 6: 80% -> 85% - [ ] கூடுதல் விளிம்பு-நிலைச் சோதனைத் தொகுப்புகளை முதன்மைக் கவரேஜ் பாதையில் ஒன்றிணைத்தல் - [ ] பலவீனமான கன்ஸ்ட்ரக்டர்/உதவிச் செயல்பாட்டுக் கவரேஜைக் கொண்ட DB தொகுதிகளுக்கான செயல்பாட்டுக் கவரேஜை அதிகரித்தல் - [ ] `settings.ts`, `registeredKeys.ts`, `validation.ts` மற்றும் மொழிபெயர்ப்பு உதவிகளில் உள்ள கிளை இடைவெளிகளை மூடுதல் ### கட்டம் 7: 85% -> 90% - [ ] எஞ்சியுள்ள குறைந்த கவரேஜ் கோப்புகளைத் தடுப்புகளாகக் கருதுதல் - [ ] 90%ஐ அடைவதற்கான முயற்சியின்போது சரிசெய்யப்படும் ஒவ்வொரு கவரேஜில் இல்லாத உற்பத்திப் பிழைக்கும் பின்னடைவு சோதனைகளைச் சேர்த்தல் - [ ] குறைந்தது தொடர்ச்சியான இரண்டு இயக்கங்களுக்கு உள்ளூர் அடிப்படை நிலை உறுதியாக இருந்த பின்னரே CIயில் கவரேஜ் வரம்பை உயர்த்துதல் ## ராட்செட் கொள்கை திட்டம் அடுத்த இலக்கை போதுமான இடைவெளியுடன் உண்மையாகவே தாண்டிய பிறகு மட்டுமே `npm run test:coverage` வரம்புகளைப் புதுப்பிக்கவும். **தற்போதைய தடை:** `npm run test:coverage` ஆனது **60 கூற்றுகள் / 60 வரிகள் / 60 செயல்பாடுகள் / 60 கிளைகள்** என்பதைச் செயல்படுத்துகிறது (Quality-Gates கட்டம் 6A.1-இல் அளவீடு மறுஅடிப்படையிடப்பட்டது — முந்தைய 82.58% அடிப்படை மதிப்பு சோதனைக் கோப்புகளைக் கணக்கில் எடுத்ததாலும் `open-sse`-ஐ விலக்கியதாலும் மிகைப்படுத்தப்பட்டிருந்தது). வரலாற்று ஒப்பீட்டிற்காகப் பழைய 50/50/50 அளவீட்டை `test:coverage:legacy` கட்டளை தக்கவைத்துள்ளது. சமீபத்திய அறிக்கைக்கு எதிரான தற்காலிக வரம்புச் சரிபார்ப்புகளுக்கு இதைப் பயன்படுத்தவும்: ```bash node scripts/check/test-report-summary.mjs --threshold 75 ``` பரிந்துரைக்கப்பட்ட ராட்செட் வரிசை (வரிசைமுறை `கூற்றுகள்-வரிகள் / கிளைகள் / செயல்பாடுகள்`): 1. 55/60/55 2. 60/62/58 3. 65/64/62 4. 70/66/66 5. 75/70/72 <-- தற்போதைய தடை (75/70/75) 6. 80/75/78 7. 85/80/84 8. 90/85/88 தொடர்ச்சியான இரண்டு இயக்கங்களில் கிளைக் கவரேஜ் 78%-க்கு மேல் நிலைத்ததும், அடுத்த ராட்செட் இலக்கு `80/75/78` ஆகும். ## அறியப்பட்ட இடைவெளி தற்போதைய கவரேஜ் கட்டளை பிரதான Node அலகுச் சோதனைத் தொகுப்பை அளவிடுவதுடன், அதிலிருந்து அடையப்படும் `open-sse` உள்ளிட்ட மூலக் குறியீட்டையும் சேர்க்கிறது. அது இன்னும் Vitest கவரேஜை ஒரே ஒருங்கிணைந்த அறிக்கையாக இணைப்பதில்லை. அந்த இணைப்பை பின்னர் செய்வது பயனுள்ளது, ஆனால் 60% -> 80% உயர்வைத் தொடங்குவதற்கு அது ஒரு தடையல்ல.