cluxion-agentplugin-supercoder 0.2.1__tar.gz → 0.2.4__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 (66) hide show
  1. {cluxion_agentplugin_supercoder-0.2.1 → cluxion_agentplugin_supercoder-0.2.4}/PKG-INFO +26 -1
  2. {cluxion_agentplugin_supercoder-0.2.1 → cluxion_agentplugin_supercoder-0.2.4}/README.md +25 -0
  3. {cluxion_agentplugin_supercoder-0.2.1 → cluxion_agentplugin_supercoder-0.2.4}/plugin.yaml +7 -4
  4. {cluxion_agentplugin_supercoder-0.2.1 → cluxion_agentplugin_supercoder-0.2.4}/pyproject.toml +2 -3
  5. {cluxion_agentplugin_supercoder-0.2.1 → cluxion_agentplugin_supercoder-0.2.4}/src/cluxion_agentplugin_supercoder/__init__.py +1 -1
  6. cluxion_agentplugin_supercoder-0.2.4/src/cluxion_agentplugin_supercoder/cli.py +59 -0
  7. {cluxion_agentplugin_supercoder-0.2.1 → cluxion_agentplugin_supercoder-0.2.4}/src/cluxion_agentplugin_supercoder/core/repo_map.py +1 -5
  8. cluxion_agentplugin_supercoder-0.2.4/src/cluxion_agentplugin_supercoder/doctor/__init__.py +5 -0
  9. cluxion_agentplugin_supercoder-0.2.4/src/cluxion_agentplugin_supercoder/doctor/catalog.json +498 -0
  10. cluxion_agentplugin_supercoder-0.2.4/src/cluxion_agentplugin_supercoder/doctor/framework.py +177 -0
  11. cluxion_agentplugin_supercoder-0.2.4/src/cluxion_agentplugin_supercoder/doctor/probes.py +187 -0
  12. {cluxion_agentplugin_supercoder-0.2.1 → cluxion_agentplugin_supercoder-0.2.4}/src/cluxion_agentplugin_supercoder/plugin.py +39 -1
  13. {cluxion_agentplugin_supercoder-0.2.1 → cluxion_agentplugin_supercoder-0.2.4}/src/cluxion_agentplugin_supercoder/runner.py +13 -6
  14. cluxion_agentplugin_supercoder-0.2.4/tests/test_doctor.py +99 -0
  15. cluxion_agentplugin_supercoder-0.2.4/tests/test_plugin.py +57 -0
  16. {cluxion_agentplugin_supercoder-0.2.1 → cluxion_agentplugin_supercoder-0.2.4}/tests/test_repo_map.py +2 -3
  17. {cluxion_agentplugin_supercoder-0.2.1 → cluxion_agentplugin_supercoder-0.2.4}/uv.lock +1 -1
  18. cluxion_agentplugin_supercoder-0.2.1/src/cluxion_agentplugin_supercoder/cli.py +0 -32
  19. cluxion_agentplugin_supercoder-0.2.1/tests/test_plugin.py +0 -30
  20. {cluxion_agentplugin_supercoder-0.2.1 → cluxion_agentplugin_supercoder-0.2.4}/.github/workflows/ci.yml +0 -0
  21. {cluxion_agentplugin_supercoder-0.2.1 → cluxion_agentplugin_supercoder-0.2.4}/.github/workflows/publish.yml +0 -0
  22. {cluxion_agentplugin_supercoder-0.2.1 → cluxion_agentplugin_supercoder-0.2.4}/.gitignore +0 -0
  23. {cluxion_agentplugin_supercoder-0.2.1 → cluxion_agentplugin_supercoder-0.2.4}/ARCHITECTURE.md +0 -0
  24. {cluxion_agentplugin_supercoder-0.2.1 → cluxion_agentplugin_supercoder-0.2.4}/Docs/README.md +0 -0
  25. {cluxion_agentplugin_supercoder-0.2.1 → cluxion_agentplugin_supercoder-0.2.4}/Docs/agent-surfaces.md +0 -0
  26. {cluxion_agentplugin_supercoder-0.2.1 → cluxion_agentplugin_supercoder-0.2.4}/Docs/architecture.md +0 -0
  27. {cluxion_agentplugin_supercoder-0.2.1 → cluxion_agentplugin_supercoder-0.2.4}/Docs/capabilities.md +0 -0
  28. {cluxion_agentplugin_supercoder-0.2.1 → cluxion_agentplugin_supercoder-0.2.4}/Docs/design.md +0 -0
  29. {cluxion_agentplugin_supercoder-0.2.1 → cluxion_agentplugin_supercoder-0.2.4}/Docs/installation.md +0 -0
  30. {cluxion_agentplugin_supercoder-0.2.1 → cluxion_agentplugin_supercoder-0.2.4}/Docs/rust-architecture.md +0 -0
  31. {cluxion_agentplugin_supercoder-0.2.1 → cluxion_agentplugin_supercoder-0.2.4}/Docs/tools.md +0 -0
  32. {cluxion_agentplugin_supercoder-0.2.1 → cluxion_agentplugin_supercoder-0.2.4}/LICENSE +0 -0
  33. {cluxion_agentplugin_supercoder-0.2.1 → cluxion_agentplugin_supercoder-0.2.4}/__init__.py +0 -0
  34. {cluxion_agentplugin_supercoder-0.2.1 → cluxion_agentplugin_supercoder-0.2.4}/adapters/claude/.claude-plugin/plugin.json +0 -0
  35. {cluxion_agentplugin_supercoder-0.2.1 → cluxion_agentplugin_supercoder-0.2.4}/adapters/claude/skills/supercoder/SKILL.md +0 -0
  36. {cluxion_agentplugin_supercoder-0.2.1 → cluxion_agentplugin_supercoder-0.2.4}/adapters/codex/config-snippet.toml +0 -0
  37. {cluxion_agentplugin_supercoder-0.2.1 → cluxion_agentplugin_supercoder-0.2.4}/adapters/hermes/README.md +0 -0
  38. {cluxion_agentplugin_supercoder-0.2.1 → cluxion_agentplugin_supercoder-0.2.4}/rust/supercoder_index/Cargo.lock +0 -0
  39. {cluxion_agentplugin_supercoder-0.2.1 → cluxion_agentplugin_supercoder-0.2.4}/rust/supercoder_index/Cargo.toml +0 -0
  40. {cluxion_agentplugin_supercoder-0.2.1 → cluxion_agentplugin_supercoder-0.2.4}/rust/supercoder_index/pyproject.toml +0 -0
  41. {cluxion_agentplugin_supercoder-0.2.1 → cluxion_agentplugin_supercoder-0.2.4}/rust/supercoder_index/src/lib.rs +0 -0
  42. {cluxion_agentplugin_supercoder-0.2.1 → cluxion_agentplugin_supercoder-0.2.4}/rust/supercoder_index/src/main.rs +0 -0
  43. {cluxion_agentplugin_supercoder-0.2.1 → cluxion_agentplugin_supercoder-0.2.4}/rust/supercoder_index/src/outline.rs +0 -0
  44. {cluxion_agentplugin_supercoder-0.2.1 → cluxion_agentplugin_supercoder-0.2.4}/rust/supercoder_index/src/syntax.rs +0 -0
  45. {cluxion_agentplugin_supercoder-0.2.1 → cluxion_agentplugin_supercoder-0.2.4}/scripts/repack_native_wheel.py +0 -0
  46. {cluxion_agentplugin_supercoder-0.2.1 → cluxion_agentplugin_supercoder-0.2.4}/src/cluxion_agentplugin_supercoder/core/cursor.py +0 -0
  47. {cluxion_agentplugin_supercoder-0.2.1 → cluxion_agentplugin_supercoder-0.2.4}/src/cluxion_agentplugin_supercoder/core/hash_patch.py +0 -0
  48. {cluxion_agentplugin_supercoder-0.2.1 → cluxion_agentplugin_supercoder-0.2.4}/src/cluxion_agentplugin_supercoder/core/line_budget.py +0 -0
  49. {cluxion_agentplugin_supercoder-0.2.1 → cluxion_agentplugin_supercoder-0.2.4}/src/cluxion_agentplugin_supercoder/core/lint_gate.py +0 -0
  50. {cluxion_agentplugin_supercoder-0.2.1 → cluxion_agentplugin_supercoder-0.2.4}/src/cluxion_agentplugin_supercoder/core/queue.py +0 -0
  51. {cluxion_agentplugin_supercoder-0.2.1 → cluxion_agentplugin_supercoder-0.2.4}/src/cluxion_agentplugin_supercoder/core/retry_loop.py +0 -0
  52. {cluxion_agentplugin_supercoder-0.2.1 → cluxion_agentplugin_supercoder-0.2.4}/src/cluxion_agentplugin_supercoder/core/safety.py +0 -0
  53. {cluxion_agentplugin_supercoder-0.2.1 → cluxion_agentplugin_supercoder-0.2.4}/src/cluxion_agentplugin_supercoder/core/syntax_gate.py +0 -0
  54. {cluxion_agentplugin_supercoder-0.2.1 → cluxion_agentplugin_supercoder-0.2.4}/src/cluxion_agentplugin_supercoder/core/test_gate.py +0 -0
  55. {cluxion_agentplugin_supercoder-0.2.1 → cluxion_agentplugin_supercoder-0.2.4}/src/cluxion_agentplugin_supercoder/rust_bridge.py +0 -0
  56. {cluxion_agentplugin_supercoder-0.2.1 → cluxion_agentplugin_supercoder-0.2.4}/src/cluxion_agentplugin_supercoder/schemas.py +0 -0
  57. {cluxion_agentplugin_supercoder-0.2.1 → cluxion_agentplugin_supercoder-0.2.4}/tests/test_cursor.py +0 -0
  58. {cluxion_agentplugin_supercoder-0.2.1 → cluxion_agentplugin_supercoder-0.2.4}/tests/test_hash_patch.py +0 -0
  59. {cluxion_agentplugin_supercoder-0.2.1 → cluxion_agentplugin_supercoder-0.2.4}/tests/test_line_budget.py +0 -0
  60. {cluxion_agentplugin_supercoder-0.2.1 → cluxion_agentplugin_supercoder-0.2.4}/tests/test_lint_gate.py +0 -0
  61. {cluxion_agentplugin_supercoder-0.2.1 → cluxion_agentplugin_supercoder-0.2.4}/tests/test_queue.py +0 -0
  62. {cluxion_agentplugin_supercoder-0.2.1 → cluxion_agentplugin_supercoder-0.2.4}/tests/test_retry_loop.py +0 -0
  63. {cluxion_agentplugin_supercoder-0.2.1 → cluxion_agentplugin_supercoder-0.2.4}/tests/test_rust_bridge.py +0 -0
  64. {cluxion_agentplugin_supercoder-0.2.1 → cluxion_agentplugin_supercoder-0.2.4}/tests/test_safety.py +0 -0
  65. {cluxion_agentplugin_supercoder-0.2.1 → cluxion_agentplugin_supercoder-0.2.4}/tests/test_syntax_gate.py +0 -0
  66. {cluxion_agentplugin_supercoder-0.2.1 → cluxion_agentplugin_supercoder-0.2.4}/tests/test_test_gate.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: cluxion-agentplugin-supercoder
3
- Version: 0.2.1
3
+ Version: 0.2.4
4
4
  Summary: Universal agent coding harness plugin: cursor logic, safe patch, line budget, Rust index, test gates.
5
5
  Project-URL: Homepage, https://github.com/cluxion/cluxion-Agentplugin-supercoder
6
6
  Project-URL: Repository, https://github.com/cluxion/cluxion-Agentplugin-supercoder
@@ -61,6 +61,18 @@ Hermes를 통해 제공되는 로컬 모델(vLLM/MLX)에서도 동일하게 동
61
61
  - **레포 지도(repo map)** — 코딩 계획에 파일과 최상위 함수·클래스의 예산 내 개요가 함께 제공되어,
62
62
  모델이 경로를 추측하지 않습니다.
63
63
 
64
+ ## 점검
65
+
66
+ 설치·Hermes 계약·네이티브 백엔드 상태를 결정론적으로 자가 진단합니다. 같은 상태면 항상 같은 결과를
67
+ 출력하고, 문제가 있으면 증상과 해결 단계를 그대로 알려줍니다.
68
+
69
+ ```bash
70
+ cluxion-supercoder doctor # 사람용 요약
71
+ cluxion-supercoder doctor --json # 구조화 출력
72
+ ```
73
+
74
+ Hermes 안에서는 `supercoder_doctor` 도구로도 노출됩니다.
75
+
64
76
  ## 라이선스
65
77
 
66
78
  Apache-2.0
@@ -103,6 +115,19 @@ While coding, your agent uses a `supercoder_*` toolset automatically:
103
115
  - **Repo map** — coding plans come with a budgeted overview of your files and their top-level
104
116
  functions and classes, so the model stops guessing paths.
105
117
 
118
+ ## Diagnostics
119
+
120
+ A deterministic self-check of install, the Hermes contract, and the native backend. The same
121
+ state always prints the same result, and on any problem it shows the symptom and the exact fix
122
+ steps.
123
+
124
+ ```bash
125
+ cluxion-supercoder doctor # human summary
126
+ cluxion-supercoder doctor --json # structured output
127
+ ```
128
+
129
+ Also exposed inside Hermes as the `supercoder_doctor` tool.
130
+
106
131
  ## License
107
132
 
108
133
  Apache-2.0
@@ -38,6 +38,18 @@ Hermes를 통해 제공되는 로컬 모델(vLLM/MLX)에서도 동일하게 동
38
38
  - **레포 지도(repo map)** — 코딩 계획에 파일과 최상위 함수·클래스의 예산 내 개요가 함께 제공되어,
39
39
  모델이 경로를 추측하지 않습니다.
40
40
 
41
+ ## 점검
42
+
43
+ 설치·Hermes 계약·네이티브 백엔드 상태를 결정론적으로 자가 진단합니다. 같은 상태면 항상 같은 결과를
44
+ 출력하고, 문제가 있으면 증상과 해결 단계를 그대로 알려줍니다.
45
+
46
+ ```bash
47
+ cluxion-supercoder doctor # 사람용 요약
48
+ cluxion-supercoder doctor --json # 구조화 출력
49
+ ```
50
+
51
+ Hermes 안에서는 `supercoder_doctor` 도구로도 노출됩니다.
52
+
41
53
  ## 라이선스
42
54
 
43
55
  Apache-2.0
@@ -80,6 +92,19 @@ While coding, your agent uses a `supercoder_*` toolset automatically:
80
92
  - **Repo map** — coding plans come with a budgeted overview of your files and their top-level
81
93
  functions and classes, so the model stops guessing paths.
82
94
 
95
+ ## Diagnostics
96
+
97
+ A deterministic self-check of install, the Hermes contract, and the native backend. The same
98
+ state always prints the same result, and on any problem it shows the symptom and the exact fix
99
+ steps.
100
+
101
+ ```bash
102
+ cluxion-supercoder doctor # human summary
103
+ cluxion-supercoder doctor --json # structured output
104
+ ```
105
+
106
+ Also exposed inside Hermes as the `supercoder_doctor` tool.
107
+
83
108
  ## License
84
109
 
85
110
  Apache-2.0
@@ -1,5 +1,5 @@
1
1
  name: cluxion-agentplugin-supercoder
2
- version: 0.1.0
2
+ version: 0.2.2
3
3
  description: "Universal agent coding harness: cursor, safe patch, line budget, Rust index."
4
4
  author: cluxion
5
5
  kind: standalone
@@ -9,9 +9,12 @@ surfaces:
9
9
  - codex
10
10
  - grok_build
11
11
  provides_tools:
12
+ - supercoder_brief
13
+ - supercoder_cursor_map
14
+ - supercoder_lint_gate
15
+ - supercoder_patch
12
16
  - supercoder_plan
13
17
  - supercoder_read_window
14
- - supercoder_patch
15
- - supercoder_cursor_map
18
+ - supercoder_repo_map
19
+ - supercoder_syntax_gate
16
20
  - supercoder_test_gate
17
- - supercoder_brief
@@ -4,7 +4,7 @@ build-backend = "hatchling.build"
4
4
 
5
5
  [project]
6
6
  name = "cluxion-agentplugin-supercoder"
7
- version = "0.2.1"
7
+ version = "0.2.4"
8
8
  description = "Universal agent coding harness plugin: cursor logic, safe patch, line budget, Rust index, test gates."
9
9
  readme = "README.md"
10
10
  requires-python = ">=3.11"
@@ -31,7 +31,6 @@ Issues = "https://github.com/cluxion/cluxion-Agentplugin-supercoder/issues"
31
31
  packages = ["src/cluxion_agentplugin_supercoder"]
32
32
 
33
33
 
34
-
35
34
  [tool.pytest.ini_options]
36
35
  testpaths = ["tests"]
37
36
  addopts = "-q"
@@ -42,4 +41,4 @@ line-length = 120
42
41
  src = ["src", "tests"]
43
42
 
44
43
  [tool.ruff.lint]
45
- select = ["F", "I", "UP", "B", "SIM", "RUF"]
44
+ select = ["F", "I", "UP", "B", "SIM", "RUF"]
@@ -1,5 +1,5 @@
1
1
  from __future__ import annotations
2
2
 
3
- __version__ = "0.2.1"
3
+ __version__ = "0.2.4"
4
4
 
5
5
  __all__ = ["__version__"]
@@ -0,0 +1,59 @@
1
+ from __future__ import annotations
2
+
3
+ import argparse
4
+ import json
5
+ import sys
6
+ from collections.abc import Sequence
7
+ from importlib.resources import files
8
+ from pathlib import Path
9
+
10
+ from cluxion_agentplugin_supercoder import __version__
11
+ from cluxion_agentplugin_supercoder.doctor import render_json, render_text, run_doctor
12
+ from cluxion_agentplugin_supercoder.doctor.probes import PROBES
13
+ from cluxion_agentplugin_supercoder.rust_bridge import index_available, resolve_backend
14
+
15
+
16
+ def main(argv: Sequence[str] | None = None) -> int:
17
+ parser = argparse.ArgumentParser(prog="cluxion-supercoder")
18
+ parser.add_argument("--version", action="version", version=f"cluxion-agentplugin-supercoder {__version__}")
19
+ sub = parser.add_subparsers(dest="command")
20
+ sub.add_parser("check", help="Check plugin and Rust index availability")
21
+ doctor_p = sub.add_parser("doctor", help="Run embedded doctor checks")
22
+ doctor_p.add_argument("--json", action="store_true", help="Output JSON to stdout")
23
+ doctor_p.add_argument("--verbose", action="store_true", help="Verbose text output")
24
+ args = parser.parse_args(argv)
25
+ if args.command == "check":
26
+ payload = {
27
+ "plugin": "cluxion-agentplugin-supercoder",
28
+ "version": __version__,
29
+ "rust_index": index_available(),
30
+ "index_backend": resolve_backend(),
31
+ }
32
+ print(json.dumps(payload, ensure_ascii=False, sort_keys=True))
33
+ return 0
34
+ if args.command == "doctor":
35
+ catalog_path = files("cluxion_agentplugin_supercoder.doctor") / "catalog.json"
36
+ result = run_doctor(
37
+ cwd=Path.cwd(),
38
+ catalog_path=Path(str(catalog_path)),
39
+ probes=PROBES,
40
+ plugin="supercoder",
41
+ version=__version__,
42
+ )
43
+ text = render_text(result, load_catalog_for_text(catalog_path), verbose=args.verbose)
44
+ print(text, file=sys.stderr)
45
+ if args.json:
46
+ print(render_json(result))
47
+ return 0 if result.ok else 1
48
+ parser.print_help(sys.stderr)
49
+ return 2
50
+
51
+
52
+ def load_catalog_for_text(catalog_path):
53
+ # helper to avoid circular, but since framework has load_catalog
54
+ from cluxion_agentplugin_supercoder.doctor.framework import load_catalog
55
+ return load_catalog(Path(str(catalog_path)))
56
+
57
+
58
+ if __name__ == "__main__":
59
+ raise SystemExit(main())
@@ -51,7 +51,6 @@ def build_repo_map(
51
51
  files_mapped = 0
52
52
  files_omitted = 0
53
53
  outlined_files = 0
54
- outline_cache_hits = 0
55
54
  symbol_total = 0
56
55
  budget = max(200, int(budget_chars))
57
56
  per_file_cap = max(1, int(max_symbols_per_file))
@@ -64,13 +63,11 @@ def build_repo_map(
64
63
  block = [f"{rel} ({total_lines}L)"]
65
64
  language = language_for_path(rel) or ""
66
65
  if language in OUTLINE_LANGUAGES:
67
- symbols, cache_hit = _outline_for_map_entry(
66
+ symbols, _ = _outline_for_map_entry(
68
67
  base / rel,
69
68
  language=language,
70
69
  file_hash=str(entry.get("file_hash") or ""),
71
70
  )
72
- if cache_hit:
73
- outline_cache_hits += 1
74
71
  if symbols:
75
72
  outlined_files += 1
76
73
  shown = symbols[:per_file_cap]
@@ -97,7 +94,6 @@ def build_repo_map(
97
94
  "files_mapped": files_mapped,
98
95
  "files_omitted": files_omitted,
99
96
  "outlined_files": outlined_files,
100
- "outline_cache_hits": outline_cache_hits,
101
97
  "symbol_count": symbol_total,
102
98
  "truncated": files_omitted > 0,
103
99
  }
@@ -0,0 +1,5 @@
1
+ """Embedded doctor for cluxion supercoder plugin."""
2
+
3
+ from .framework import DoctorResult, render_json, render_text, run_doctor
4
+
5
+ __all__ = ["DoctorResult", "render_json", "render_text", "run_doctor"]