prgenius-core 2.2.1__tar.gz → 2.2.2__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (48) hide show
  1. {prgenius_core-2.2.1 → prgenius_core-2.2.2}/PKG-INFO +1 -1
  2. {prgenius_core-2.2.1 → prgenius_core-2.2.2}/pyproject.toml +1 -1
  3. {prgenius_core-2.2.1 → prgenius_core-2.2.2}/src/prgenius/__init__.py +1 -1
  4. {prgenius_core-2.2.1 → prgenius_core-2.2.2}/src/prgenius/doctor.py +12 -9
  5. {prgenius_core-2.2.1 → prgenius_core-2.2.2}/src/prgenius_core.egg-info/PKG-INFO +1 -1
  6. {prgenius_core-2.2.1 → prgenius_core-2.2.2}/README.md +0 -0
  7. {prgenius_core-2.2.1 → prgenius_core-2.2.2}/setup.cfg +0 -0
  8. {prgenius_core-2.2.1 → prgenius_core-2.2.2}/src/prgenius/__main__.py +0 -0
  9. {prgenius_core-2.2.1 → prgenius_core-2.2.2}/src/prgenius/cli.py +0 -0
  10. {prgenius_core-2.2.1 → prgenius_core-2.2.2}/src/prgenius/contributor_view.py +0 -0
  11. {prgenius_core-2.2.1 → prgenius_core-2.2.2}/src/prgenius/evaluator.py +0 -0
  12. {prgenius_core-2.2.1 → prgenius_core-2.2.2}/src/prgenius/issue_evaluator.py +0 -0
  13. {prgenius_core-2.2.1 → prgenius_core-2.2.2}/src/prgenius/maintainer_view.py +0 -0
  14. {prgenius_core-2.2.1 → prgenius_core-2.2.2}/src/prgenius/mcp.py +0 -0
  15. {prgenius_core-2.2.1 → prgenius_core-2.2.2}/src/prgenius/parser.py +0 -0
  16. {prgenius_core-2.2.1 → prgenius_core-2.2.2}/src/prgenius/pr_metadata.py +0 -0
  17. {prgenius_core-2.2.1 → prgenius_core-2.2.2}/src/prgenius/py.typed +0 -0
  18. {prgenius_core-2.2.1 → prgenius_core-2.2.2}/src/prgenius/status.py +0 -0
  19. {prgenius_core-2.2.1 → prgenius_core-2.2.2}/src/prgenius/structural.py +0 -0
  20. {prgenius_core-2.2.1 → prgenius_core-2.2.2}/src/prgenius/triage.py +0 -0
  21. {prgenius_core-2.2.1 → prgenius_core-2.2.2}/src/prgenius/utils.py +0 -0
  22. {prgenius_core-2.2.1 → prgenius_core-2.2.2}/src/prgenius_core.egg-info/SOURCES.txt +0 -0
  23. {prgenius_core-2.2.1 → prgenius_core-2.2.2}/src/prgenius_core.egg-info/dependency_links.txt +0 -0
  24. {prgenius_core-2.2.1 → prgenius_core-2.2.2}/src/prgenius_core.egg-info/entry_points.txt +0 -0
  25. {prgenius_core-2.2.1 → prgenius_core-2.2.2}/src/prgenius_core.egg-info/requires.txt +0 -0
  26. {prgenius_core-2.2.1 → prgenius_core-2.2.2}/src/prgenius_core.egg-info/top_level.txt +0 -0
  27. {prgenius_core-2.2.1 → prgenius_core-2.2.2}/tests/test_cli.py +0 -0
  28. {prgenius_core-2.2.1 → prgenius_core-2.2.2}/tests/test_contributor_view.py +0 -0
  29. {prgenius_core-2.2.1 → prgenius_core-2.2.2}/tests/test_enrich_cases.py +0 -0
  30. {prgenius_core-2.2.1 → prgenius_core-2.2.2}/tests/test_evaluator.py +0 -0
  31. {prgenius_core-2.2.1 → prgenius_core-2.2.2}/tests/test_evaluator_v163.py +0 -0
  32. {prgenius_core-2.2.1 → prgenius_core-2.2.2}/tests/test_extract_features.py +0 -0
  33. {prgenius_core-2.2.1 → prgenius_core-2.2.2}/tests/test_gh_fallback.py +0 -0
  34. {prgenius_core-2.2.1 → prgenius_core-2.2.2}/tests/test_issue_evaluator.py +0 -0
  35. {prgenius_core-2.2.1 → prgenius_core-2.2.2}/tests/test_maintainer_view.py +0 -0
  36. {prgenius_core-2.2.1 → prgenius_core-2.2.2}/tests/test_mcp.py +0 -0
  37. {prgenius_core-2.2.1 → prgenius_core-2.2.2}/tests/test_mcp_stdio.py +0 -0
  38. {prgenius_core-2.2.1 → prgenius_core-2.2.2}/tests/test_parser_smoke.py +0 -0
  39. {prgenius_core-2.2.1 → prgenius_core-2.2.2}/tests/test_pr_metadata.py +0 -0
  40. {prgenius_core-2.2.1 → prgenius_core-2.2.2}/tests/test_product_quality.py +0 -0
  41. {prgenius_core-2.2.1 → prgenius_core-2.2.2}/tests/test_review_case_evidence.py +0 -0
  42. {prgenius_core-2.2.1 → prgenius_core-2.2.2}/tests/test_score_merge.py +0 -0
  43. {prgenius_core-2.2.1 → prgenius_core-2.2.2}/tests/test_smoke_e2e.py +0 -0
  44. {prgenius_core-2.2.1 → prgenius_core-2.2.2}/tests/test_status.py +0 -0
  45. {prgenius_core-2.2.1 → prgenius_core-2.2.2}/tests/test_structural_checks.py +0 -0
  46. {prgenius_core-2.2.1 → prgenius_core-2.2.2}/tests/test_triage.py +0 -0
  47. {prgenius_core-2.2.1 → prgenius_core-2.2.2}/tests/test_utils.py +0 -0
  48. {prgenius_core-2.2.1 → prgenius_core-2.2.2}/tests/test_validate.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: prgenius-core
3
- Version: 2.2.1
3
+ Version: 2.2.2
4
4
  Summary: Evidence-backed lookup for big-repo PR contributions. Local-only, zero-runtime, stdlib-first. Renamed from `prgenius` to avoid PyPI name collision with an unrelated 2024 GPT-3 PR-description tool. Distribution renamed again in v0.7.8: `prgenius-kb` → `prgenius-core` (aligned with `misakanet-core` convention).
5
5
  Author: pr-genius contributors
6
6
  License-Expression: MIT
@@ -1,6 +1,6 @@
1
1
  [project]
2
2
  name = "prgenius-core"
3
- version = "2.2.1"
3
+ version = "2.2.2"
4
4
  description = "Evidence-backed lookup for big-repo PR contributions. Local-only, zero-runtime, stdlib-first. Renamed from `prgenius` to avoid PyPI name collision with an unrelated 2024 GPT-3 PR-description tool. Distribution renamed again in v0.7.8: `prgenius-kb` → `prgenius-core` (aligned with `misakanet-core` convention)."
5
5
  readme = "README.md"
6
6
  requires-python = ">=3.9"
@@ -12,7 +12,7 @@ Public surface:
12
12
 
13
13
  from .parser import load, iter_profiles, iter_case_studies, profile_get, schema_info, clear_profile_cache
14
14
 
15
- __version__ = "2.2.1"
15
+ __version__ = "2.2.2"
16
16
  __all__ = [
17
17
  "__version__",
18
18
  "load",
@@ -192,7 +192,18 @@ def run_doctor(repo_root: Optional[Path] = None) -> dict:
192
192
 
193
193
  warnings: list[str] = []
194
194
  if not kb["readable"]:
195
- if kb["repo_root_source"] == "none":
195
+ # 顺序重要: 先判**实际使用的 root**是否存在, 再谈"来源"。
196
+ # repo_root_source 说的是模块自解析的结果, 与 --repo-root 无关 ——
197
+ # 用户传了坏路径时若先看 source, 会把"你传的路径不存在"说成
198
+ # "wheel 只装代码", 并错指那个路径是安装位置 (2.2.1 就这么措辞失实过)。
199
+ if not root.exists():
200
+ warnings.append(
201
+ f"the knowledge-base path does not exist: {root} "
202
+ "(pass the pr-genius git clone to --repo-root, or drop --repo-root to use the default)"
203
+ )
204
+ elif not root.is_dir():
205
+ warnings.append(f"the knowledge-base path is not a directory: {root}")
206
+ elif kb["repo_root_source"] == "none":
196
207
  # wheel 只装代码,知识库在仓库里 —— 新用户从 PyPI 装完就是这个状态。
197
208
  warnings.append(
198
209
  "knowledge base not found — the `prgenius-core` wheel ships code only, "
@@ -201,14 +212,6 @@ def run_doctor(repo_root: Optional[Path] = None) -> dict:
201
212
  "(or export PRGENIUS_REPO_ROOT=<clone>). "
202
213
  f"Looked near {root} (that path is not a repo root, just where the package is installed)"
203
214
  )
204
- elif not root.exists():
205
- # 路径根本不存在 —— 说"anti-patterns/ missing"是误导, 用户会去找目录
206
- warnings.append(
207
- f"--repo-root points at a path that does not exist: {root} "
208
- "(pass the pr-genius git clone, or drop --repo-root to use the default)"
209
- )
210
- elif not root.is_dir():
211
- warnings.append(f"--repo-root is not a directory: {root}")
212
215
  else:
213
216
  warnings.append(f"knowledge base not readable at {root} (anti-patterns/ missing)")
214
217
  missing_kw = anti_total - anti_with_kw - anti_json
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: prgenius-core
3
- Version: 2.2.1
3
+ Version: 2.2.2
4
4
  Summary: Evidence-backed lookup for big-repo PR contributions. Local-only, zero-runtime, stdlib-first. Renamed from `prgenius` to avoid PyPI name collision with an unrelated 2024 GPT-3 PR-description tool. Distribution renamed again in v0.7.8: `prgenius-kb` → `prgenius-core` (aligned with `misakanet-core` convention).
5
5
  Author: pr-genius contributors
6
6
  License-Expression: MIT
File without changes
File without changes