cluxion-agentplugin-supercoder 0.1.0__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.1.0/.gitignore +10 -0
- cluxion_agentplugin_supercoder-0.1.0/ARCHITECTURE.md +9 -0
- cluxion_agentplugin_supercoder-0.1.0/Docs/README.md +50 -0
- cluxion_agentplugin_supercoder-0.1.0/Docs/agent-surfaces.md +24 -0
- cluxion_agentplugin_supercoder-0.1.0/Docs/architecture.md +53 -0
- cluxion_agentplugin_supercoder-0.1.0/Docs/capabilities.md +32 -0
- cluxion_agentplugin_supercoder-0.1.0/Docs/design.md +63 -0
- cluxion_agentplugin_supercoder-0.1.0/Docs/installation.md +45 -0
- cluxion_agentplugin_supercoder-0.1.0/Docs/rust-architecture.md +39 -0
- cluxion_agentplugin_supercoder-0.1.0/Docs/tools.md +54 -0
- cluxion_agentplugin_supercoder-0.1.0/PKG-INFO +100 -0
- cluxion_agentplugin_supercoder-0.1.0/README.md +81 -0
- cluxion_agentplugin_supercoder-0.1.0/__init__.py +12 -0
- cluxion_agentplugin_supercoder-0.1.0/adapters/claude/.claude-plugin/plugin.json +6 -0
- cluxion_agentplugin_supercoder-0.1.0/adapters/claude/skills/supercoder/SKILL.md +30 -0
- cluxion_agentplugin_supercoder-0.1.0/adapters/codex/config-snippet.toml +6 -0
- cluxion_agentplugin_supercoder-0.1.0/adapters/hermes/README.md +11 -0
- cluxion_agentplugin_supercoder-0.1.0/plugin.yaml +17 -0
- cluxion_agentplugin_supercoder-0.1.0/pyproject.toml +46 -0
- cluxion_agentplugin_supercoder-0.1.0/rust/supercoder_index/Cargo.lock +235 -0
- cluxion_agentplugin_supercoder-0.1.0/rust/supercoder_index/Cargo.toml +14 -0
- cluxion_agentplugin_supercoder-0.1.0/rust/supercoder_index/src/main.rs +91 -0
- cluxion_agentplugin_supercoder-0.1.0/src/cluxion_agentplugin_supercoder/__init__.py +5 -0
- cluxion_agentplugin_supercoder-0.1.0/src/cluxion_agentplugin_supercoder/cli.py +27 -0
- cluxion_agentplugin_supercoder-0.1.0/src/cluxion_agentplugin_supercoder/core/cursor.py +93 -0
- cluxion_agentplugin_supercoder-0.1.0/src/cluxion_agentplugin_supercoder/core/hash_patch.py +140 -0
- cluxion_agentplugin_supercoder-0.1.0/src/cluxion_agentplugin_supercoder/core/line_budget.py +56 -0
- cluxion_agentplugin_supercoder-0.1.0/src/cluxion_agentplugin_supercoder/core/queue.py +96 -0
- cluxion_agentplugin_supercoder-0.1.0/src/cluxion_agentplugin_supercoder/core/safety.py +59 -0
- cluxion_agentplugin_supercoder-0.1.0/src/cluxion_agentplugin_supercoder/core/test_gate.py +71 -0
- cluxion_agentplugin_supercoder-0.1.0/src/cluxion_agentplugin_supercoder/plugin.py +91 -0
- cluxion_agentplugin_supercoder-0.1.0/src/cluxion_agentplugin_supercoder/runner.py +111 -0
- cluxion_agentplugin_supercoder-0.1.0/src/cluxion_agentplugin_supercoder/rust_bridge.py +45 -0
- cluxion_agentplugin_supercoder-0.1.0/src/cluxion_agentplugin_supercoder/schemas.py +78 -0
- cluxion_agentplugin_supercoder-0.1.0/tests/test_cursor.py +14 -0
- cluxion_agentplugin_supercoder-0.1.0/tests/test_hash_patch.py +22 -0
- cluxion_agentplugin_supercoder-0.1.0/tests/test_plugin.py +25 -0
- cluxion_agentplugin_supercoder-0.1.0/tests/test_test_gate.py +23 -0
- cluxion_agentplugin_supercoder-0.1.0/uv.lock +221 -0
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
# Architecture (legacy pointer)
|
|
2
|
+
|
|
3
|
+
**공개 문서는 [`Docs/`](Docs/)를 사용하세요.**
|
|
4
|
+
|
|
5
|
+
- [Docs/README.md](Docs/README.md) — 처음 읽는 분
|
|
6
|
+
- [Docs/architecture.md](Docs/architecture.md) — 현재 아키텍처
|
|
7
|
+
- [Docs/capabilities.md](Docs/capabilities.md) — 제공 기능
|
|
8
|
+
|
|
9
|
+
이 파일은 초기 설계 초안이었습니다. 내용은 `Docs/`로 이전·정리되었습니다.
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
# Documentation
|
|
2
|
+
|
|
3
|
+
`cluxion-Agentplugin-supercoder` 공개 문서입니다.
|
|
4
|
+
|
|
5
|
+
## 처음 읽는 분
|
|
6
|
+
|
|
7
|
+
**Supercoder**는 **코딩 작업**에서 큰 파일 추측·unsafe patch를 막는 **코딩 하네스 플러그인**입니다.
|
|
8
|
+
|
|
9
|
+
| 질문 | 답 |
|
|
10
|
+
|------|-----|
|
|
11
|
+
| **무엇을 하나요?** | line window 읽기, hash 검증 patch, line budget, WorkUnit 큐, safety gate를 제공합니다. |
|
|
12
|
+
| **누가 실행하나요?** | **연결된 AI**가 `supercoder_*` 도구를 호출하고, host terminal/file 도구와 함께 bounded 작업을 합니다. |
|
|
13
|
+
| **플러그인이 모델을 부르나요?** | **아니요.** plan·patch 검증·evidence 요구만 합니다. |
|
|
14
|
+
| **왜 Rust인가요?** | file hash·repo scan hot path를 `supercoder-index`가 담당합니다. |
|
|
15
|
+
|
|
16
|
+
### 연결된 AI 사용 흐름
|
|
17
|
+
|
|
18
|
+
1. 코딩 요청 → `supercoder_plan` (비코딩이면 `bypass`)
|
|
19
|
+
2. `supercoder_cursor_map` / `supercoder_read_window` — bounded context
|
|
20
|
+
3. `supercoder_patch` — expected hash 필수
|
|
21
|
+
4. `supercoder_test_gate` — host terminal에서 테스트 실행
|
|
22
|
+
5. `supercoder_brief` — evidence와 함께 완료 보고
|
|
23
|
+
|
|
24
|
+
### 사람(개발자)이 할 일
|
|
25
|
+
|
|
26
|
+
```bash
|
|
27
|
+
pip install cluxion-agentplugin-supercoder
|
|
28
|
+
cluxion-supercoder check
|
|
29
|
+
hermes plugins enable cluxion-agentplugin-supercoder
|
|
30
|
+
```
|
|
31
|
+
|
|
32
|
+
## 목차
|
|
33
|
+
|
|
34
|
+
| 문서 | 내용 |
|
|
35
|
+
|------|------|
|
|
36
|
+
| [architecture.md](architecture.md) | 구조, host 경계, WorkUnit |
|
|
37
|
+
| [design.md](design.md) | cursor, patch, safety |
|
|
38
|
+
| [installation.md](installation.md) | 설치, Rust sidecar |
|
|
39
|
+
| [tools.md](tools.md) | toolset, WorkUnit, evidence |
|
|
40
|
+
| [agent-surfaces.md](agent-surfaces.md) | Hermes / Claude / Codex 연동 |
|
|
41
|
+
| [capabilities.md](capabilities.md) | 현재 제공 기능 |
|
|
42
|
+
| [rust-architecture.md](rust-architecture.md) | Rust 메인 · Python adapter |
|
|
43
|
+
|
|
44
|
+
## 이 레포에서 다루지 않는 것
|
|
45
|
+
|
|
46
|
+
- API 키, OAuth, provider 비밀
|
|
47
|
+
- 플러그인 내부 LLM 호출
|
|
48
|
+
- 비공개 운영 정보
|
|
49
|
+
|
|
50
|
+
이슈는 GitHub Issues를 이용해 주세요.
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
# Agent Surfaces
|
|
2
|
+
|
|
3
|
+
Supercoder는 Hermes plugin + `supercoder` toolset으로 연결됩니다.
|
|
4
|
+
**연결된 AI**가 코딩 task에서 `supercoder_*` 도구를 호출합니다.
|
|
5
|
+
|
|
6
|
+
## Hermes
|
|
7
|
+
|
|
8
|
+
```bash
|
|
9
|
+
hermes plugins enable cluxion-agentplugin-supercoder
|
|
10
|
+
```
|
|
11
|
+
|
|
12
|
+
Tools: `supercoder_plan`, `supercoder_read_window`, `supercoder_patch`, `supercoder_cursor_map`, `supercoder_test_gate`, `supercoder_brief`
|
|
13
|
+
|
|
14
|
+
## Claude / Codex / Grok
|
|
15
|
+
|
|
16
|
+
동일 tool semantics를 skill·CLI로 안내합니다.
|
|
17
|
+
코딩 bounded read·patch·evidence 규칙은 Hermes와 같습니다.
|
|
18
|
+
|
|
19
|
+
## 연결된 AI 규칙
|
|
20
|
+
|
|
21
|
+
1. 코딩 요청만 `supercoder_plan` — 그 외 `bypass`
|
|
22
|
+
2. patch 전 `read_window`로 hash 확보
|
|
23
|
+
3. 테스트는 host terminal 실행 후 brief에 evidence 기록
|
|
24
|
+
4. stale·blocked 시 사용자에게 명시적 보고
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
# Architecture
|
|
2
|
+
|
|
3
|
+
## 개요
|
|
4
|
+
|
|
5
|
+
Supercoder는 host agent **위에** 얹는 코딩 전용 하네스입니다. host core를 대체하지 않습니다.
|
|
6
|
+
|
|
7
|
+
```mermaid
|
|
8
|
+
flowchart TD
|
|
9
|
+
U[User prompt] --> H[연결된 AI host loop]
|
|
10
|
+
H --> P{Code task?}
|
|
11
|
+
P -- no --> H
|
|
12
|
+
P -- yes --> SC[supercoder_* tools]
|
|
13
|
+
SC --> R[read_window / patch]
|
|
14
|
+
R --> E[Evidence + brief]
|
|
15
|
+
```
|
|
16
|
+
|
|
17
|
+
## 패키지 구조
|
|
18
|
+
|
|
19
|
+
```
|
|
20
|
+
src/cluxion_agentplugin_supercoder/
|
|
21
|
+
plugin.py, runner.py
|
|
22
|
+
core/ — cursor, hash_patch, line_budget, safety, queue
|
|
23
|
+
rust_bridge.py
|
|
24
|
+
rust/supercoder_index/
|
|
25
|
+
```
|
|
26
|
+
|
|
27
|
+
## Host vs Supercoder
|
|
28
|
+
|
|
29
|
+
| Host (연결된 AI) | Supercoder |
|
|
30
|
+
|------------------|------------|
|
|
31
|
+
| LLM, OAuth, provider | 코딩 plan, bounded context |
|
|
32
|
+
| terminal/file tools | patch 검증, safety gate |
|
|
33
|
+
| 대화·응답 | WorkUnit·evidence 요구 |
|
|
34
|
+
|
|
35
|
+
## WorkUnit queue
|
|
36
|
+
|
|
37
|
+
코딩 작업은 **결정론적으로** 분해됩니다: `map` → `edit` → `verify` → `brief`.
|
|
38
|
+
|
|
39
|
+
**연결된 AI**가 각 단계에 맞는 `supercoder_*` 도구를 호출합니다.
|
|
40
|
+
|
|
41
|
+
## Rust layer
|
|
42
|
+
|
|
43
|
+
- `supercoder-index hash` / `scan`
|
|
44
|
+
- 없으면 Python `hash_patch.file_hash` fallback
|
|
45
|
+
|
|
46
|
+
## Preprocessing과의 관계
|
|
47
|
+
|
|
48
|
+
| 플러그인 | 역할 |
|
|
49
|
+
|----------|------|
|
|
50
|
+
| preprocessing | 전처리, 정직함, 명확화, 일반 segment 큐 |
|
|
51
|
+
| supercoder | 코딩 cursor, patch, line budget |
|
|
52
|
+
|
|
53
|
+
같은 세션에서 병행 사용 가능합니다.
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
# Capabilities (v0.1.0)
|
|
2
|
+
|
|
3
|
+
Supercoder가 **현재 제공하는** 기능입니다.
|
|
4
|
+
|
|
5
|
+
## Hermes 연동
|
|
6
|
+
|
|
7
|
+
- Plugin entry + `supercoder` toolset
|
|
8
|
+
- Tools: `supercoder_plan`, `supercoder_read_window`, `supercoder_patch`, `supercoder_cursor_map`, `supercoder_test_gate`, `supercoder_brief`
|
|
9
|
+
|
|
10
|
+
## Core (Python)
|
|
11
|
+
|
|
12
|
+
- `hash_patch` — exact/fuzzy match, stale detection
|
|
13
|
+
- `cursor` — read_window, cursor_map
|
|
14
|
+
- `line_budget`, `safety` gates
|
|
15
|
+
- `TaskQueue` / `plan_coding_task` — WorkUnit 분해
|
|
16
|
+
|
|
17
|
+
## Rust sidecar
|
|
18
|
+
|
|
19
|
+
- `supercoder-index hash` — 파일 SHA-256
|
|
20
|
+
- `supercoder-index scan` — bounded repo walk
|
|
21
|
+
- 미설치 시 Python fallback
|
|
22
|
+
|
|
23
|
+
## 연결된 AI 책임
|
|
24
|
+
|
|
25
|
+
- 도구 호출 순서·evidence 수집·테스트 실행 (host terminal)
|
|
26
|
+
- `supercoder_brief`에 `files_changed`, `tests_run` 기록
|
|
27
|
+
- patch 실패·blocked 시 사용자에게 명시적 보고
|
|
28
|
+
|
|
29
|
+
## 의도적으로 포함하지 않음
|
|
30
|
+
|
|
31
|
+
- Provider/OAuth/모델 선택 (host 소유)
|
|
32
|
+
- 전처리·일반 큐 ([preprocessing](https://github.com/cluxion/cluxion-Agentplugin-preprocessing) 플러그인)
|
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
# Design
|
|
2
|
+
|
|
3
|
+
## 목표
|
|
4
|
+
|
|
5
|
+
**연결된 AI**가 코딩 task에서도 **구조화된 하네스**를 따르도록 합니다. 모델 가중치를 바꾸지 않고:
|
|
6
|
+
|
|
7
|
+
- 읽기 범위 제한
|
|
8
|
+
- patch 좌표 고정
|
|
9
|
+
- evidence 기반 완료 판정
|
|
10
|
+
|
|
11
|
+
## Cursor logic
|
|
12
|
+
|
|
13
|
+
파일 전체가 아닌 **편집 좌표**를 제공합니다.
|
|
14
|
+
|
|
15
|
+
```text
|
|
16
|
+
LineWindow
|
|
17
|
+
path, start_line, end_line
|
|
18
|
+
content, content_hash, file_hash
|
|
19
|
+
```
|
|
20
|
+
|
|
21
|
+
규칙:
|
|
22
|
+
|
|
23
|
+
- 모든 read는 `max_lines` 이내
|
|
24
|
+
- patch 전 `expected_file_hash` 검증
|
|
25
|
+
- 파일 변경 시 stale → patch 거부
|
|
26
|
+
|
|
27
|
+
## Line budget
|
|
28
|
+
|
|
29
|
+
| 상황 | 기본 제한 |
|
|
30
|
+
|------|-----------|
|
|
31
|
+
| 위치 탐색 | 120 lines / file |
|
|
32
|
+
| patch context | ~100 lines |
|
|
33
|
+
| 리뷰 | 160 lines |
|
|
34
|
+
| 생성 파일 soft cap | 400 lines |
|
|
35
|
+
|
|
36
|
+
초과 시 `line_budget_exceeded` — split plan 또는 차단.
|
|
37
|
+
|
|
38
|
+
## Safe patch
|
|
39
|
+
|
|
40
|
+
hash/fuzzy match 로직:
|
|
41
|
+
|
|
42
|
+
1. exact match
|
|
43
|
+
2. fuzzy match (threshold 0.86, ambiguous 시 거부)
|
|
44
|
+
3. stale file hash → block
|
|
45
|
+
|
|
46
|
+
## Safety (fail-closed)
|
|
47
|
+
|
|
48
|
+
- workspace root 밖 path 차단
|
|
49
|
+
- destructive command 차단
|
|
50
|
+
- secret 경로 패턴 read/write 차단
|
|
51
|
+
- 400줄 초과 single write 차단
|
|
52
|
+
|
|
53
|
+
## Evidence contract
|
|
54
|
+
|
|
55
|
+
완료로 인정하려면 **연결된 AI**가 brief에 기록:
|
|
56
|
+
|
|
57
|
+
- 변경: `files_changed` 또는 `no_changes_needed`
|
|
58
|
+
- 테스트: `tests_run` 또는 `tests_not_run_reason`
|
|
59
|
+
- 불확실: `unknown_after_check` 허용, fake certainty 금지
|
|
60
|
+
|
|
61
|
+
## Lazy activation
|
|
62
|
+
|
|
63
|
+
`is_coding_task()`가 false이면 `supercoder_plan`은 `mode=bypass`.
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
# Installation
|
|
2
|
+
|
|
3
|
+
## 요구 사항
|
|
4
|
+
|
|
5
|
+
- Python 3.11+
|
|
6
|
+
- (선택) Rust — `supercoder-index` 빌드
|
|
7
|
+
|
|
8
|
+
## 설치
|
|
9
|
+
|
|
10
|
+
```bash
|
|
11
|
+
pip install cluxion-agentplugin-supercoder
|
|
12
|
+
cluxion-supercoder check
|
|
13
|
+
```
|
|
14
|
+
|
|
15
|
+
개발:
|
|
16
|
+
|
|
17
|
+
```bash
|
|
18
|
+
uv venv && uv pip install -e ".[dev]"
|
|
19
|
+
uv run pytest
|
|
20
|
+
uv run ruff check .
|
|
21
|
+
```
|
|
22
|
+
|
|
23
|
+
## Hermes Agent
|
|
24
|
+
|
|
25
|
+
```bash
|
|
26
|
+
hermes plugins enable cluxion-agentplugin-supercoder
|
|
27
|
+
```
|
|
28
|
+
|
|
29
|
+
toolset: `supercoder`
|
|
30
|
+
|
|
31
|
+
레거시 entry point 이름 `hermes-supercoder`도 호환용으로 제공됩니다.
|
|
32
|
+
|
|
33
|
+
## Rust sidecar (선택)
|
|
34
|
+
|
|
35
|
+
```bash
|
|
36
|
+
cargo build --release --manifest-path rust/supercoder_index/Cargo.toml
|
|
37
|
+
export CLUXION_SUPERCODER_INDEX_BIN=/path/to/supercoder-index
|
|
38
|
+
```
|
|
39
|
+
|
|
40
|
+
`cluxion-supercoder check`에서 `rust_index: true` 확인.
|
|
41
|
+
|
|
42
|
+
## 다른 에이전트
|
|
43
|
+
|
|
44
|
+
Claude / Codex / Grok: `plugin.yaml`의 `surfaces` 목록 참고.
|
|
45
|
+
각 환경의 공식 plugin/skill 메커니즘으로 `register()` 또는 skill 문서를 연결합니다.
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
# Rust Architecture
|
|
2
|
+
|
|
3
|
+
## 원칙
|
|
4
|
+
|
|
5
|
+
Supercoder는 **Rust가 hot path**, **Python이 에이전트 연결**입니다.
|
|
6
|
+
|
|
7
|
+
```
|
|
8
|
+
Hermes / Claude / Codex / Grok
|
|
9
|
+
↓
|
|
10
|
+
cluxion_agentplugin_supercoder (Python: plugin, runner, safety)
|
|
11
|
+
↓
|
|
12
|
+
supercoder-index (Rust: hash, scan)
|
|
13
|
+
↓ fallback
|
|
14
|
+
hash_patch / cursor (Python: 동일 계약)
|
|
15
|
+
```
|
|
16
|
+
|
|
17
|
+
## Rust: `supercoder-index`
|
|
18
|
+
|
|
19
|
+
| 명령 | 역할 |
|
|
20
|
+
|------|------|
|
|
21
|
+
| `hash` | 파일 SHA-256 (빠른 경로) |
|
|
22
|
+
| `scan` | bounded repo walk + line count |
|
|
23
|
+
|
|
24
|
+
```bash
|
|
25
|
+
cargo build --release --manifest-path rust/supercoder_index/Cargo.toml
|
|
26
|
+
export CLUXION_SUPERCODER_INDEX_BIN=/path/to/supercoder-index
|
|
27
|
+
```
|
|
28
|
+
|
|
29
|
+
## Python 역할
|
|
30
|
+
|
|
31
|
+
- `hash_patch`, `cursor`, `line_budget`, `safety` — 에이전트 tool handler
|
|
32
|
+
- `TaskQueue` / WorkUnit 분해
|
|
33
|
+
- Hermes `register()` — `supercoder` toolset 등록
|
|
34
|
+
- 연결된 AI가 skill·도구 지시에 따라 `supercoder_*` 호출
|
|
35
|
+
|
|
36
|
+
## 범용성
|
|
37
|
+
|
|
38
|
+
`plugin.yaml`의 `surfaces` 목록과 동일 core를 모든 agent에 연결합니다.
|
|
39
|
+
환경마다 **등록 방식만 다르고** patch·cursor 로직은 공유합니다.
|
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
# Tools
|
|
2
|
+
|
|
3
|
+
연결된 AI가 호출하는 `supercoder` toolset입니다.
|
|
4
|
+
|
|
5
|
+
## `supercoder_plan`
|
|
6
|
+
|
|
7
|
+
코딩 task를 WorkUnit 큐로 분해합니다.
|
|
8
|
+
|
|
9
|
+
- 비코딩 prompt → `{ "mode": "bypass" }`
|
|
10
|
+
- 코딩 prompt → `map` → `edit` → `verify` → `brief`
|
|
11
|
+
|
|
12
|
+
입력: `prompt`, `task_id`, `cwd`
|
|
13
|
+
|
|
14
|
+
## `supercoder_read_window`
|
|
15
|
+
|
|
16
|
+
bounded file read.
|
|
17
|
+
|
|
18
|
+
입력: `path`, `start_line`, `max_lines` (기본 120), `cwd`
|
|
19
|
+
출력: `content`, `content_hash`, `file_hash`
|
|
20
|
+
|
|
21
|
+
## `supercoder_patch`
|
|
22
|
+
|
|
23
|
+
hash 검증 patch. `expected_file_hash` 없으면 stale로 거부.
|
|
24
|
+
|
|
25
|
+
## `supercoder_cursor_map`
|
|
26
|
+
|
|
27
|
+
repo 내 소스 파일 index (확장자·깊이 제한).
|
|
28
|
+
|
|
29
|
+
## `supercoder_test_gate`
|
|
30
|
+
|
|
31
|
+
변경 파일 기반으로 pytest 명령을 **제안**합니다.
|
|
32
|
+
|
|
33
|
+
- `files_changed`: `src/pkg/store.py` → `tests/test_store.py` (존재 시)
|
|
34
|
+
- `tests/test_*.py` 직접 변경 시 해당 파일을 타깃으로 사용
|
|
35
|
+
- `command`로 명시 override 가능
|
|
36
|
+
- **연결된 AI**가 host terminal에서 실행하고, stdout/stderr를 `supercoder_brief.tests_run`에 기록
|
|
37
|
+
|
|
38
|
+
## `supercoder_brief`
|
|
39
|
+
|
|
40
|
+
`files_changed`, `tests_run`, `verification_status`, `remaining_risks` 요약.
|
|
41
|
+
|
|
42
|
+
## WorkUnit 필드
|
|
43
|
+
|
|
44
|
+
```text
|
|
45
|
+
id, goal, priority
|
|
46
|
+
allowed_paths, line_budget
|
|
47
|
+
dependencies, expected_evidence
|
|
48
|
+
status: pending | running | complete | failed | blocked
|
|
49
|
+
```
|
|
50
|
+
|
|
51
|
+
## Queue (내부)
|
|
52
|
+
|
|
53
|
+
`TaskQueue.next_unit()` / `record()` — `supercoder_plan` 흐름에서 사용.
|
|
54
|
+
연결된 AI는 WorkUnit 순서에 맞게 위 도구를 호출합니다.
|
|
@@ -0,0 +1,100 @@
|
|
|
1
|
+
Metadata-Version: 2.4
|
|
2
|
+
Name: cluxion-agentplugin-supercoder
|
|
3
|
+
Version: 0.1.0
|
|
4
|
+
Summary: Universal agent coding harness plugin: cursor logic, safe patch, line budget, Rust index, test gates.
|
|
5
|
+
Project-URL: Homepage, https://github.com/cluxion/cluxion-Agentplugin-supercoder
|
|
6
|
+
Project-URL: Repository, https://github.com/cluxion/cluxion-Agentplugin-supercoder
|
|
7
|
+
Project-URL: Issues, https://github.com/cluxion/cluxion-Agentplugin-supercoder/issues
|
|
8
|
+
Author-email: cluxion <algocean1204@users.noreply.github.com>
|
|
9
|
+
License-Expression: Apache-2.0
|
|
10
|
+
Keywords: claude-code,cluxion,codex,coding,hermes-agent,plugin
|
|
11
|
+
Requires-Python: >=3.11
|
|
12
|
+
Requires-Dist: psutil>=5.9
|
|
13
|
+
Requires-Dist: pyyaml>=6.0
|
|
14
|
+
Provides-Extra: dev
|
|
15
|
+
Requires-Dist: build>=1.2; extra == 'dev'
|
|
16
|
+
Requires-Dist: pytest>=8.0; extra == 'dev'
|
|
17
|
+
Requires-Dist: ruff>=0.8; extra == 'dev'
|
|
18
|
+
Description-Content-Type: text/markdown
|
|
19
|
+
|
|
20
|
+
# cluxion-Agentplugin-supercoder
|
|
21
|
+
|
|
22
|
+
범용 에이전트 **코딩 하네스 플러그인** — **Hermes, Claude Code, Codex, Grok Build**에서 동일 core로 동작합니다.
|
|
23
|
+
|
|
24
|
+
**Repository:** https://github.com/cluxion/cluxion-Agentplugin-supercoder
|
|
25
|
+
|
|
26
|
+
## 한 줄 요약
|
|
27
|
+
|
|
28
|
+
코딩 시 **큰 파일 추측·stale patch**를 막습니다. **연결된 AI**가 `supercoder_*` 도구로 bounded read·hash 검증 patch·evidence brief를 수행합니다.
|
|
29
|
+
|
|
30
|
+
## 범용 에이전트 + Rust-First
|
|
31
|
+
|
|
32
|
+
| 계층 | 구현 |
|
|
33
|
+
|------|------|
|
|
34
|
+
| **Rust** (`supercoder-index`) | file hash, repo scan |
|
|
35
|
+
| **Python** (`core/`, `runner`) | cursor, patch, safety, plugin |
|
|
36
|
+
| **Agent adapter** | Hermes plugin + `supercoder` toolset |
|
|
37
|
+
|
|
38
|
+
patch 검증·인덱싱은 Rust, orchestration은 Python 래퍼입니다.
|
|
39
|
+
|
|
40
|
+
## 이 플러그인의 역할
|
|
41
|
+
|
|
42
|
+
- **Cursor logic** — line window, file/content hash
|
|
43
|
+
- **Safe patch** — hash 검증, stale 차단
|
|
44
|
+
- **Line budget** — 과도한 read/write 차단
|
|
45
|
+
- **WorkUnit queue** — map → edit → verify → brief
|
|
46
|
+
- **Safety gate** — workspace escape·destructive command 차단
|
|
47
|
+
|
|
48
|
+
**모델·OAuth는 host 소유.** Supercoder는 plan·검증·evidence 계약만 제공합니다.
|
|
49
|
+
|
|
50
|
+
## 연결된 AI가 하는 일
|
|
51
|
+
|
|
52
|
+
```
|
|
53
|
+
코딩 요청 → supercoder_plan
|
|
54
|
+
→ cursor_map / read_window
|
|
55
|
+
→ supercoder_patch (hash 필수)
|
|
56
|
+
→ test_gate (host terminal 실행)
|
|
57
|
+
→ supercoder_brief (evidence 필수)
|
|
58
|
+
```
|
|
59
|
+
|
|
60
|
+
비코딩 질문은 `bypass`로 오버헤드 최소화.
|
|
61
|
+
|
|
62
|
+
## 빠른 시작
|
|
63
|
+
|
|
64
|
+
```bash
|
|
65
|
+
pip install cluxion-agentplugin-supercoder
|
|
66
|
+
cluxion-supercoder check
|
|
67
|
+
hermes plugins enable cluxion-agentplugin-supercoder
|
|
68
|
+
```
|
|
69
|
+
|
|
70
|
+
## 도구 (`supercoder` toolset)
|
|
71
|
+
|
|
72
|
+
| Tool | 설명 |
|
|
73
|
+
|------|------|
|
|
74
|
+
| `supercoder_plan` | WorkUnit 큐 |
|
|
75
|
+
| `supercoder_read_window` | line-bounded read |
|
|
76
|
+
| `supercoder_patch` | hash 검증 patch |
|
|
77
|
+
| `supercoder_cursor_map` | repo index |
|
|
78
|
+
| `supercoder_test_gate` | 테스트 제안 |
|
|
79
|
+
| `supercoder_brief` | evidence 요약 |
|
|
80
|
+
|
|
81
|
+
## Adapters
|
|
82
|
+
|
|
83
|
+
- `adapters/hermes/` — Hermes enable 가이드
|
|
84
|
+
- `adapters/claude/skills/supercoder/` — Claude skill
|
|
85
|
+
- `adapters/codex/config-snippet.toml` — Codex 참고
|
|
86
|
+
|
|
87
|
+
## 문서
|
|
88
|
+
|
|
89
|
+
- [Docs/README.md](Docs/README.md) — **처음 읽는 분** + 목차
|
|
90
|
+
- [Docs/architecture.md](Docs/architecture.md)
|
|
91
|
+
- [Docs/design.md](Docs/design.md)
|
|
92
|
+
- [Docs/installation.md](Docs/installation.md)
|
|
93
|
+
- [Docs/tools.md](Docs/tools.md)
|
|
94
|
+
- [Docs/agent-surfaces.md](Docs/agent-surfaces.md)
|
|
95
|
+
- [Docs/capabilities.md](Docs/capabilities.md)
|
|
96
|
+
- [Docs/rust-architecture.md](Docs/rust-architecture.md)
|
|
97
|
+
|
|
98
|
+
## License
|
|
99
|
+
|
|
100
|
+
Apache-2.0
|
|
@@ -0,0 +1,81 @@
|
|
|
1
|
+
# cluxion-Agentplugin-supercoder
|
|
2
|
+
|
|
3
|
+
범용 에이전트 **코딩 하네스 플러그인** — **Hermes, Claude Code, Codex, Grok Build**에서 동일 core로 동작합니다.
|
|
4
|
+
|
|
5
|
+
**Repository:** https://github.com/cluxion/cluxion-Agentplugin-supercoder
|
|
6
|
+
|
|
7
|
+
## 한 줄 요약
|
|
8
|
+
|
|
9
|
+
코딩 시 **큰 파일 추측·stale patch**를 막습니다. **연결된 AI**가 `supercoder_*` 도구로 bounded read·hash 검증 patch·evidence brief를 수행합니다.
|
|
10
|
+
|
|
11
|
+
## 범용 에이전트 + Rust-First
|
|
12
|
+
|
|
13
|
+
| 계층 | 구현 |
|
|
14
|
+
|------|------|
|
|
15
|
+
| **Rust** (`supercoder-index`) | file hash, repo scan |
|
|
16
|
+
| **Python** (`core/`, `runner`) | cursor, patch, safety, plugin |
|
|
17
|
+
| **Agent adapter** | Hermes plugin + `supercoder` toolset |
|
|
18
|
+
|
|
19
|
+
patch 검증·인덱싱은 Rust, orchestration은 Python 래퍼입니다.
|
|
20
|
+
|
|
21
|
+
## 이 플러그인의 역할
|
|
22
|
+
|
|
23
|
+
- **Cursor logic** — line window, file/content hash
|
|
24
|
+
- **Safe patch** — hash 검증, stale 차단
|
|
25
|
+
- **Line budget** — 과도한 read/write 차단
|
|
26
|
+
- **WorkUnit queue** — map → edit → verify → brief
|
|
27
|
+
- **Safety gate** — workspace escape·destructive command 차단
|
|
28
|
+
|
|
29
|
+
**모델·OAuth는 host 소유.** Supercoder는 plan·검증·evidence 계약만 제공합니다.
|
|
30
|
+
|
|
31
|
+
## 연결된 AI가 하는 일
|
|
32
|
+
|
|
33
|
+
```
|
|
34
|
+
코딩 요청 → supercoder_plan
|
|
35
|
+
→ cursor_map / read_window
|
|
36
|
+
→ supercoder_patch (hash 필수)
|
|
37
|
+
→ test_gate (host terminal 실행)
|
|
38
|
+
→ supercoder_brief (evidence 필수)
|
|
39
|
+
```
|
|
40
|
+
|
|
41
|
+
비코딩 질문은 `bypass`로 오버헤드 최소화.
|
|
42
|
+
|
|
43
|
+
## 빠른 시작
|
|
44
|
+
|
|
45
|
+
```bash
|
|
46
|
+
pip install cluxion-agentplugin-supercoder
|
|
47
|
+
cluxion-supercoder check
|
|
48
|
+
hermes plugins enable cluxion-agentplugin-supercoder
|
|
49
|
+
```
|
|
50
|
+
|
|
51
|
+
## 도구 (`supercoder` toolset)
|
|
52
|
+
|
|
53
|
+
| Tool | 설명 |
|
|
54
|
+
|------|------|
|
|
55
|
+
| `supercoder_plan` | WorkUnit 큐 |
|
|
56
|
+
| `supercoder_read_window` | line-bounded read |
|
|
57
|
+
| `supercoder_patch` | hash 검증 patch |
|
|
58
|
+
| `supercoder_cursor_map` | repo index |
|
|
59
|
+
| `supercoder_test_gate` | 테스트 제안 |
|
|
60
|
+
| `supercoder_brief` | evidence 요약 |
|
|
61
|
+
|
|
62
|
+
## Adapters
|
|
63
|
+
|
|
64
|
+
- `adapters/hermes/` — Hermes enable 가이드
|
|
65
|
+
- `adapters/claude/skills/supercoder/` — Claude skill
|
|
66
|
+
- `adapters/codex/config-snippet.toml` — Codex 참고
|
|
67
|
+
|
|
68
|
+
## 문서
|
|
69
|
+
|
|
70
|
+
- [Docs/README.md](Docs/README.md) — **처음 읽는 분** + 목차
|
|
71
|
+
- [Docs/architecture.md](Docs/architecture.md)
|
|
72
|
+
- [Docs/design.md](Docs/design.md)
|
|
73
|
+
- [Docs/installation.md](Docs/installation.md)
|
|
74
|
+
- [Docs/tools.md](Docs/tools.md)
|
|
75
|
+
- [Docs/agent-surfaces.md](Docs/agent-surfaces.md)
|
|
76
|
+
- [Docs/capabilities.md](Docs/capabilities.md)
|
|
77
|
+
- [Docs/rust-architecture.md](Docs/rust-architecture.md)
|
|
78
|
+
|
|
79
|
+
## License
|
|
80
|
+
|
|
81
|
+
Apache-2.0
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
from __future__ import annotations
|
|
2
|
+
|
|
3
|
+
import sys
|
|
4
|
+
from pathlib import Path
|
|
5
|
+
|
|
6
|
+
_SRC = Path(__file__).resolve().parent / "src"
|
|
7
|
+
if str(_SRC) not in sys.path:
|
|
8
|
+
sys.path.insert(0, str(_SRC))
|
|
9
|
+
|
|
10
|
+
from cluxion_agentplugin_supercoder.plugin import register
|
|
11
|
+
|
|
12
|
+
__all__ = ["register"]
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: cluxion-supercoder
|
|
3
|
+
description: Coding harness for bounded reads, hash-verified patches, and evidence-based briefs. You (the connected AI) call supercoder tools before editing code.
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# Supercoder — 연결된 AI 지시문
|
|
7
|
+
|
|
8
|
+
코딩 작업에서 **당신(연결된 AI)** 이 `supercoder_*` 도구를 호출합니다.
|
|
9
|
+
|
|
10
|
+
## 흐름
|
|
11
|
+
|
|
12
|
+
1. `supercoder_plan` — 코딩 task면 WorkUnit 큐, 아니면 `bypass`
|
|
13
|
+
2. `supercoder_cursor_map` / `supercoder_read_window` — bounded context + hashes
|
|
14
|
+
3. `supercoder_patch` — `expected_file_hash` 필수
|
|
15
|
+
4. host terminal에서 테스트 실행
|
|
16
|
+
5. `supercoder_brief` — `files_changed`, `tests_run` evidence 필수
|
|
17
|
+
|
|
18
|
+
## 규칙
|
|
19
|
+
|
|
20
|
+
- patch 전 반드시 read_window로 hash 확보
|
|
21
|
+
- stale hash면 patch 거부 — 다시 read
|
|
22
|
+
- 테스트 통과를 주장하려면 실제 실행 결과를 brief에 기록
|
|
23
|
+
- 비코딩 질문은 plan bypass로 오버헤드 최소화
|
|
24
|
+
|
|
25
|
+
## 설치 확인
|
|
26
|
+
|
|
27
|
+
```bash
|
|
28
|
+
cluxion-supercoder check
|
|
29
|
+
hermes plugins enable cluxion-agentplugin-supercoder
|
|
30
|
+
```
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
# Hermes adapter
|
|
2
|
+
|
|
3
|
+
```bash
|
|
4
|
+
pip install cluxion-agentplugin-supercoder
|
|
5
|
+
hermes plugins enable cluxion-agentplugin-supercoder
|
|
6
|
+
cluxion-supercoder check
|
|
7
|
+
```
|
|
8
|
+
|
|
9
|
+
Tools: `supercoder_plan`, `supercoder_read_window`, `supercoder_patch`, `supercoder_cursor_map`, `supercoder_test_gate`, `supercoder_brief`
|
|
10
|
+
|
|
11
|
+
연결된 AI가 코딩 task에서 위 도구를 순서대로 호출합니다.
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
name: cluxion-agentplugin-supercoder
|
|
2
|
+
version: 0.1.0
|
|
3
|
+
description: "Universal agent coding harness: cursor, safe patch, line budget, Rust index."
|
|
4
|
+
author: cluxion
|
|
5
|
+
kind: standalone
|
|
6
|
+
surfaces:
|
|
7
|
+
- hermes
|
|
8
|
+
- claude
|
|
9
|
+
- codex
|
|
10
|
+
- grok_build
|
|
11
|
+
provides_tools:
|
|
12
|
+
- supercoder_plan
|
|
13
|
+
- supercoder_read_window
|
|
14
|
+
- supercoder_patch
|
|
15
|
+
- supercoder_cursor_map
|
|
16
|
+
- supercoder_test_gate
|
|
17
|
+
- supercoder_brief
|