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.
- {cluxion_agentplugin_supercoder-0.2.1 → cluxion_agentplugin_supercoder-0.2.4}/PKG-INFO +26 -1
- {cluxion_agentplugin_supercoder-0.2.1 → cluxion_agentplugin_supercoder-0.2.4}/README.md +25 -0
- {cluxion_agentplugin_supercoder-0.2.1 → cluxion_agentplugin_supercoder-0.2.4}/plugin.yaml +7 -4
- {cluxion_agentplugin_supercoder-0.2.1 → cluxion_agentplugin_supercoder-0.2.4}/pyproject.toml +2 -3
- {cluxion_agentplugin_supercoder-0.2.1 → cluxion_agentplugin_supercoder-0.2.4}/src/cluxion_agentplugin_supercoder/__init__.py +1 -1
- cluxion_agentplugin_supercoder-0.2.4/src/cluxion_agentplugin_supercoder/cli.py +59 -0
- {cluxion_agentplugin_supercoder-0.2.1 → cluxion_agentplugin_supercoder-0.2.4}/src/cluxion_agentplugin_supercoder/core/repo_map.py +1 -5
- cluxion_agentplugin_supercoder-0.2.4/src/cluxion_agentplugin_supercoder/doctor/__init__.py +5 -0
- cluxion_agentplugin_supercoder-0.2.4/src/cluxion_agentplugin_supercoder/doctor/catalog.json +498 -0
- cluxion_agentplugin_supercoder-0.2.4/src/cluxion_agentplugin_supercoder/doctor/framework.py +177 -0
- cluxion_agentplugin_supercoder-0.2.4/src/cluxion_agentplugin_supercoder/doctor/probes.py +187 -0
- {cluxion_agentplugin_supercoder-0.2.1 → cluxion_agentplugin_supercoder-0.2.4}/src/cluxion_agentplugin_supercoder/plugin.py +39 -1
- {cluxion_agentplugin_supercoder-0.2.1 → cluxion_agentplugin_supercoder-0.2.4}/src/cluxion_agentplugin_supercoder/runner.py +13 -6
- cluxion_agentplugin_supercoder-0.2.4/tests/test_doctor.py +99 -0
- cluxion_agentplugin_supercoder-0.2.4/tests/test_plugin.py +57 -0
- {cluxion_agentplugin_supercoder-0.2.1 → cluxion_agentplugin_supercoder-0.2.4}/tests/test_repo_map.py +2 -3
- {cluxion_agentplugin_supercoder-0.2.1 → cluxion_agentplugin_supercoder-0.2.4}/uv.lock +1 -1
- cluxion_agentplugin_supercoder-0.2.1/src/cluxion_agentplugin_supercoder/cli.py +0 -32
- cluxion_agentplugin_supercoder-0.2.1/tests/test_plugin.py +0 -30
- {cluxion_agentplugin_supercoder-0.2.1 → cluxion_agentplugin_supercoder-0.2.4}/.github/workflows/ci.yml +0 -0
- {cluxion_agentplugin_supercoder-0.2.1 → cluxion_agentplugin_supercoder-0.2.4}/.github/workflows/publish.yml +0 -0
- {cluxion_agentplugin_supercoder-0.2.1 → cluxion_agentplugin_supercoder-0.2.4}/.gitignore +0 -0
- {cluxion_agentplugin_supercoder-0.2.1 → cluxion_agentplugin_supercoder-0.2.4}/ARCHITECTURE.md +0 -0
- {cluxion_agentplugin_supercoder-0.2.1 → cluxion_agentplugin_supercoder-0.2.4}/Docs/README.md +0 -0
- {cluxion_agentplugin_supercoder-0.2.1 → cluxion_agentplugin_supercoder-0.2.4}/Docs/agent-surfaces.md +0 -0
- {cluxion_agentplugin_supercoder-0.2.1 → cluxion_agentplugin_supercoder-0.2.4}/Docs/architecture.md +0 -0
- {cluxion_agentplugin_supercoder-0.2.1 → cluxion_agentplugin_supercoder-0.2.4}/Docs/capabilities.md +0 -0
- {cluxion_agentplugin_supercoder-0.2.1 → cluxion_agentplugin_supercoder-0.2.4}/Docs/design.md +0 -0
- {cluxion_agentplugin_supercoder-0.2.1 → cluxion_agentplugin_supercoder-0.2.4}/Docs/installation.md +0 -0
- {cluxion_agentplugin_supercoder-0.2.1 → cluxion_agentplugin_supercoder-0.2.4}/Docs/rust-architecture.md +0 -0
- {cluxion_agentplugin_supercoder-0.2.1 → cluxion_agentplugin_supercoder-0.2.4}/Docs/tools.md +0 -0
- {cluxion_agentplugin_supercoder-0.2.1 → cluxion_agentplugin_supercoder-0.2.4}/LICENSE +0 -0
- {cluxion_agentplugin_supercoder-0.2.1 → cluxion_agentplugin_supercoder-0.2.4}/__init__.py +0 -0
- {cluxion_agentplugin_supercoder-0.2.1 → cluxion_agentplugin_supercoder-0.2.4}/adapters/claude/.claude-plugin/plugin.json +0 -0
- {cluxion_agentplugin_supercoder-0.2.1 → cluxion_agentplugin_supercoder-0.2.4}/adapters/claude/skills/supercoder/SKILL.md +0 -0
- {cluxion_agentplugin_supercoder-0.2.1 → cluxion_agentplugin_supercoder-0.2.4}/adapters/codex/config-snippet.toml +0 -0
- {cluxion_agentplugin_supercoder-0.2.1 → cluxion_agentplugin_supercoder-0.2.4}/adapters/hermes/README.md +0 -0
- {cluxion_agentplugin_supercoder-0.2.1 → cluxion_agentplugin_supercoder-0.2.4}/rust/supercoder_index/Cargo.lock +0 -0
- {cluxion_agentplugin_supercoder-0.2.1 → cluxion_agentplugin_supercoder-0.2.4}/rust/supercoder_index/Cargo.toml +0 -0
- {cluxion_agentplugin_supercoder-0.2.1 → cluxion_agentplugin_supercoder-0.2.4}/rust/supercoder_index/pyproject.toml +0 -0
- {cluxion_agentplugin_supercoder-0.2.1 → cluxion_agentplugin_supercoder-0.2.4}/rust/supercoder_index/src/lib.rs +0 -0
- {cluxion_agentplugin_supercoder-0.2.1 → cluxion_agentplugin_supercoder-0.2.4}/rust/supercoder_index/src/main.rs +0 -0
- {cluxion_agentplugin_supercoder-0.2.1 → cluxion_agentplugin_supercoder-0.2.4}/rust/supercoder_index/src/outline.rs +0 -0
- {cluxion_agentplugin_supercoder-0.2.1 → cluxion_agentplugin_supercoder-0.2.4}/rust/supercoder_index/src/syntax.rs +0 -0
- {cluxion_agentplugin_supercoder-0.2.1 → cluxion_agentplugin_supercoder-0.2.4}/scripts/repack_native_wheel.py +0 -0
- {cluxion_agentplugin_supercoder-0.2.1 → cluxion_agentplugin_supercoder-0.2.4}/src/cluxion_agentplugin_supercoder/core/cursor.py +0 -0
- {cluxion_agentplugin_supercoder-0.2.1 → cluxion_agentplugin_supercoder-0.2.4}/src/cluxion_agentplugin_supercoder/core/hash_patch.py +0 -0
- {cluxion_agentplugin_supercoder-0.2.1 → cluxion_agentplugin_supercoder-0.2.4}/src/cluxion_agentplugin_supercoder/core/line_budget.py +0 -0
- {cluxion_agentplugin_supercoder-0.2.1 → cluxion_agentplugin_supercoder-0.2.4}/src/cluxion_agentplugin_supercoder/core/lint_gate.py +0 -0
- {cluxion_agentplugin_supercoder-0.2.1 → cluxion_agentplugin_supercoder-0.2.4}/src/cluxion_agentplugin_supercoder/core/queue.py +0 -0
- {cluxion_agentplugin_supercoder-0.2.1 → cluxion_agentplugin_supercoder-0.2.4}/src/cluxion_agentplugin_supercoder/core/retry_loop.py +0 -0
- {cluxion_agentplugin_supercoder-0.2.1 → cluxion_agentplugin_supercoder-0.2.4}/src/cluxion_agentplugin_supercoder/core/safety.py +0 -0
- {cluxion_agentplugin_supercoder-0.2.1 → cluxion_agentplugin_supercoder-0.2.4}/src/cluxion_agentplugin_supercoder/core/syntax_gate.py +0 -0
- {cluxion_agentplugin_supercoder-0.2.1 → cluxion_agentplugin_supercoder-0.2.4}/src/cluxion_agentplugin_supercoder/core/test_gate.py +0 -0
- {cluxion_agentplugin_supercoder-0.2.1 → cluxion_agentplugin_supercoder-0.2.4}/src/cluxion_agentplugin_supercoder/rust_bridge.py +0 -0
- {cluxion_agentplugin_supercoder-0.2.1 → cluxion_agentplugin_supercoder-0.2.4}/src/cluxion_agentplugin_supercoder/schemas.py +0 -0
- {cluxion_agentplugin_supercoder-0.2.1 → cluxion_agentplugin_supercoder-0.2.4}/tests/test_cursor.py +0 -0
- {cluxion_agentplugin_supercoder-0.2.1 → cluxion_agentplugin_supercoder-0.2.4}/tests/test_hash_patch.py +0 -0
- {cluxion_agentplugin_supercoder-0.2.1 → cluxion_agentplugin_supercoder-0.2.4}/tests/test_line_budget.py +0 -0
- {cluxion_agentplugin_supercoder-0.2.1 → cluxion_agentplugin_supercoder-0.2.4}/tests/test_lint_gate.py +0 -0
- {cluxion_agentplugin_supercoder-0.2.1 → cluxion_agentplugin_supercoder-0.2.4}/tests/test_queue.py +0 -0
- {cluxion_agentplugin_supercoder-0.2.1 → cluxion_agentplugin_supercoder-0.2.4}/tests/test_retry_loop.py +0 -0
- {cluxion_agentplugin_supercoder-0.2.1 → cluxion_agentplugin_supercoder-0.2.4}/tests/test_rust_bridge.py +0 -0
- {cluxion_agentplugin_supercoder-0.2.1 → cluxion_agentplugin_supercoder-0.2.4}/tests/test_safety.py +0 -0
- {cluxion_agentplugin_supercoder-0.2.1 → cluxion_agentplugin_supercoder-0.2.4}/tests/test_syntax_gate.py +0 -0
- {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.
|
|
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.
|
|
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
|
-
-
|
|
15
|
-
-
|
|
18
|
+
- supercoder_repo_map
|
|
19
|
+
- supercoder_syntax_gate
|
|
16
20
|
- supercoder_test_gate
|
|
17
|
-
- supercoder_brief
|
{cluxion_agentplugin_supercoder-0.2.1 → cluxion_agentplugin_supercoder-0.2.4}/pyproject.toml
RENAMED
|
@@ -4,7 +4,7 @@ build-backend = "hatchling.build"
|
|
|
4
4
|
|
|
5
5
|
[project]
|
|
6
6
|
name = "cluxion-agentplugin-supercoder"
|
|
7
|
-
version = "0.2.
|
|
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"]
|
|
@@ -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,
|
|
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
|
}
|