Skip to content

Refactor: unify config loading by reusing load_config from helpers#410

Closed
volcano303 wants to merge 1 commit intoentrius:testfrom
volcano303:refactor/unify-config-loading
Closed

Refactor: unify config loading by reusing load_config from helpers#410
volcano303 wants to merge 1 commit intoentrius:testfrom
volcano303:refactor/unify-config-loading

Conversation

@volcano303
Copy link
Copy Markdown

@volcano303 volcano303 commented Apr 14, 2026

Summary

  • Replace the standalone _load_config_value() in cli/miner_commands/post.py with a call to the existing load_config() from cli/issue_commands/helpers.py
  • Replace the standalone get_contract_address() in validator/utils/issue_competitions.py with a call to the existing get_contract_address() from cli/issue_commands/helpers.py
  • Same file paths, same error handling, just one implementation now

Move config loading in post.py and contract address resolution in
issue_competitions.py to use centralized helpers, eliminating duplicated
logic and ensuring consistent priority (CLI arg > env var > default).
@volcano303 volcano303 force-pushed the refactor/unify-config-loading branch from 82f428e to 82e39f9 Compare April 14, 2026 04:51
@anderdc anderdc closed this Apr 14, 2026
anderdc added a commit that referenced this pull request Apr 25, 2026
End-of-phase cache stats give operators a single-line view of how the
solving-PR cache performed during a scoring round:

  Solving-PR cache: 47 hits | 5 misses (4 fetched OK, 1 fetch failures)

Hits = cache lookup (no HTTP). Misses = get_pr_files invocation. Fetch
failures = MirrorRequestError raised; issue counts toward credibility but
no discovery_earned_score awarded. Useful for tuning expectations
(maintainer-solved miner-issues are guaranteed cache misses since
maintainer PRs are dropped at OSS load time and never enter
mirror_merged_prs) and for spotting mirror flakiness without scraping the
warning lines.

Per-issue debug logs explain every classification + scoring decision so
operators can debug "why didn't UID X get credit for issue Y?" by setting
the log level to debug. Each gate logs its specific reason:

  issue #553 (entrius/gittensor): closed-not-solved (state_reason=NOT_PLANNED, need COMPLETED)
  issue #480 (entrius/gittensor-ui): same-account (discoverer == solver 218712309) — credibility only
  issue #621 (entrius/allways): one-issue-per-PR (PR #527 already scored an earlier issue) — credibility only
  issue #410 (entrius/gittensor): solving PR #399 token_score 2.50 < 5 — credibility only

All at debug level so they don't clutter normal info-level logs.

_score_miner_mirror_issues + _resolve_solving_pr_score gain a _CacheStats
parameter; callers updated. New TestCacheStats covers all three counter
paths (hit / fetch-success / fetch-failure).

Full suite: 618 passed.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants