chore(miner): migrate batch 4.2 foundational lib modules to TypeScript - #7341
chore(miner): migrate batch 4.2 foundational lib modules to TypeScript#7341bitfathers94 wants to merge 1 commit into
Conversation
Convert this batch's most-depended-on packages/loopover-miner/lib modules from hand-written .js (+ hand-maintained .d.ts) to real strict TypeScript, using the in-place-emit pipeline Phase 1 (JSONbored#7299) wired up: - opportunity-ranker - store-db-adapter - claim-conflict-resolver - harness-submission-trigger - portfolio-queue-manager - pr-disposition-poller - ranked-candidates Each file's hand-maintained .d.ts sibling is dropped; tsc regenerates the .js and .d.ts in place. Public type contracts are preserved exactly (moved from the old .d.ts into the .ts source), with only internal, compile-only annotations added to satisfy strict + exactOptionalPropertyTypes. Zero runtime behavior change; tenant-client is left untouched (out of scope). Fills the remaining branch/line gaps these modules had so the converted files hit full patch coverage: normalization fall-throughs (non-array labels, non-finite/absent optional metadata, blank apiBaseUrl, non-string repo), the D1 first(colName) path, entriesToPortfolioQueue's non-array and skip branches, the self-opened-store defaults, and the default setTimeout backoff. Two pre-existing unreachable defensive guards are marked with the established /* v8 ignore */ convention. Closes JSONbored#7310
|
Superagent didn't find any vulnerabilities or security issues in this PR. |
Codecov Report✅ All modified and coverable lines are covered by tests. Additional details and impacted files@@ Coverage Diff @@
## main #7341 +/- ##
========================================
Coverage 91.04% 91.05%
========================================
Files 714 714
Lines 72137 72169 +32
Branches 19391 19496 +105
========================================
+ Hits 65679 65714 +35
+ Misses 5418 5415 -3
Partials 1040 1040
Flags with carried forward coverage won't be shown. Click here to find out more.
|
|
Caution 🛑 LoopOver review result - reject/close recommendedReview updated: 2026-07-19 18:50:45 UTC
Review summary Blockers
Nits — 6 non-blocking
Why this is blocked
📋 Copy for AI agents — paste into your coding agentCI checks failing
Decision drivers
Context & advisory signals — never blocks the verdict
Linked issue satisfactionPartially addressed Review context
Contributor next steps
Signal definitions
🧪 Chat with LoopOverAsk LoopOver a question about this PR directly in a comment — grounded only in the same cached, public-safe facts shown above, never a new claim.
Full command reference: https://loopover.ai/docs/loopover-commands 🧪 Experimental — new and may change. 🟩 Safe / merged · 🟦 Advisory · 🟨 Held for review · 🟥 Blocked / closed 💰 Earn for open-source contributions like this. Gittensor lets GitHub contributors earn for the work they already do — register to start earning →. Checked by LoopOver, a quiet PR intelligence layer for OSS maintainers.
|
|
LoopOver is closing this pull request on the maintainer's behalf (CI is failing (validate, codecov/patch, validate-tests-merge); AI reviewers agree on a likely critical defect: codecov/patch failed at 77.13% (target 99%), directly contradicting the PR description's claim that this batch "hits full patch coverage" — this repo's stated ~97% branch-counted patch-coverage bar is not met, and several new modules (harness-submission-trigger.ts, claim-conflict-resolver.ts, pr-disposition-poller.ts) show far more source lines added than test lines (test-to-code ratio ~0.06 per the coverage brief), so real branches (e.g. the maxAttempts/backoff loop in pr-disposition-poller.ts:pollPrDisposition, the retry/competing-claims branches in claim-conflict-resolver.ts:resolveClaimConflict) are plausibly unexercised.). This is an automated maintenance action — to pursue this change, please open a new pull request with the issues resolved. Closed PRs may be analyzed later to improve review accuracy, but they are not automatically reopened or re-reviewed. |
chore(miner): migrate batch 4.2 foundational lib modules to TypeScript
Convert this batch's most-depended-on packages/loopover-miner/lib modules
from hand-written .js (+ hand-maintained .d.ts) to real strict TypeScript,
using the in-place-emit pipeline Phase 1 (#7299) wired up:
Each file's hand-maintained .d.ts sibling is dropped; tsc regenerates the
.js and .d.ts in place. Public type contracts are preserved exactly (moved
from the old .d.ts into the .ts source), with only internal, compile-only
annotations added to satisfy strict + exactOptionalPropertyTypes. Zero
runtime behavior change; tenant-client is left untouched (out of scope).
Fills the remaining branch/line gaps these modules had so the converted
files hit full patch coverage: normalization fall-throughs (non-array
labels, non-finite/absent optional metadata, blank apiBaseUrl, non-string
repo), the D1 first(colName) path, entriesToPortfolioQueue's non-array and
skip branches, the self-opened-store defaults, and the default setTimeout
backoff. Two pre-existing unreachable defensive guards are marked with the
established /* v8 ignore */ convention.
Closes #7310