fix(forecasting): USP di>0 gate + unit-explicit coverage #1046

Merged
bot-backend merged 1 commit from fix/forecast-usp-coverage into main 2026-06-04 08:25:32 +00:00
Collaborator

Read-only services audit findings (forecasting core otherwise CLEAN).

#1 (user-facing): recommendation._usp_from_deficits emitted «Дефицит формата X — стройте его» for OVERSUPPLIED formats (filtered only di is None, not di>0) → reached PDF/Excel USP-ниши with a negative deficit_index. Now gates di>0; all-surplus → [].
#3: report_assembler._domrf_coverage guessed percent-vs-fraction (value/100 if >1) → genuine 0.8% read as 80% → inflated confidence in thin-data. Now unit-explicit per-branch. 241+148 tests pass.

NOTE: competitors.weighted_avg_velocity is a naive mean despite the name — left for product decision (rename vs re-weight; a test locks it).

Read-only services audit findings (forecasting core otherwise CLEAN). #1 (user-facing): recommendation._usp_from_deficits emitted «Дефицит формата X — стройте его» for OVERSUPPLIED formats (filtered only di is None, not di>0) → reached PDF/Excel USP-ниши with a negative deficit_index. Now gates di>0; all-surplus → []. #3: report_assembler._domrf_coverage guessed percent-vs-fraction (value/100 if >1) → genuine 0.8% read as 80% → inflated confidence in thin-data. Now unit-explicit per-branch. 241+148 tests pass. NOTE: competitors.weighted_avg_velocity is a naive mean despite the name — left for product decision (rename vs re-weight; a test locks it).
bot-backend added 1 commit 2026-06-04 08:25:28 +00:00
fix(forecasting): honest USP gate (di>0) + unit-explicit coverage fraction
All checks were successful
Deploy / changes (push) Successful in 6s
Deploy / build-frontend (push) Has been skipped
Deploy / build-backend (push) Successful in 2m16s
Deploy / build-worker (push) Successful in 2m31s
Deploy / deploy (push) Successful in 1m3s
b4eb6a8ad5
Found by read-only services audit.
- recommendation._usp_from_deficits: skip di<=0 so «стройте его» is never emitted
  for OVERSUPPLIED formats; all-surplus top-K → [] (no white-space niches).
  Aligns with product_scoring._count_positive_usp (di>0). Was: «Дефицит формата
  X — стройте его» for a surplus format, reaching PDF/Excel USP-ниши.
- report_assembler._domrf_coverage: drop ambiguous >1.0 percent-guess; normalize
  per-branch (analyze pct /100, supply_layers fraction as-is). Sub-1% coverage
  (0.8%) no longer read as 80% → no inflated confidence in the near-zero-coverage
  case §15 flags. tests for both + end-to-end no-inflation. 241+148 pass.
bot-backend merged commit b4eb6a8ad5 into main 2026-06-04 08:25:32 +00:00
bot-backend deleted branch fix/forecast-usp-coverage 2026-06-04 08:25:32 +00:00
Sign in to join this conversation.
No reviewers
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference: lekss361/gendesign#1046
No description provided.