@uzysjung/agent-harness 26.164.0 → 26.166.0

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.
@@ -17,7 +17,7 @@ import {
17
17
  init_esm_shims,
18
18
  residentCost,
19
19
  resolveBundleRoot
20
- } from "./chunk-X7NSQHXL.js";
20
+ } from "./chunk-AHAAF4HS.js";
21
21
 
22
22
  // src/trust-tier-drift.ts
23
23
  init_esm_shims();
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@uzysjung/agent-harness",
3
- "version": "26.164.0",
3
+ "version": "26.166.0",
4
4
  "description": "Curate vetted AI-coding skills & plugins by your tech stack — install only what you need, across Claude Code, Codex, OpenCode & Antigravity",
5
5
  "type": "module",
6
6
  "publishConfig": {
@@ -1,4 +1,4 @@
1
- # {PROJECT_NAME} — Antigravity Agent Guide
1
+ # {PROJECT_NAME} — Agent Guide ({CLI_NAMES})
2
2
 
3
3
  ## Project Context
4
4
 
@@ -8,7 +8,19 @@
8
8
 
9
9
  {PROJECT_RULES}
10
10
 
11
+ ## Harness Rules
12
+
13
+ {HARNESS_RULES_NOTE}
14
+
15
+ {HARNESS_RULES}
16
+
17
+ ## Session Start
18
+
19
+ {SESSION_START}
20
+
11
21
  ## Protected Files
12
22
 
23
+ {PROTECTED_FILES_LEAD}
24
+
13
25
  - lock 파일(`package-lock.json` · `pnpm-lock.yaml` · `poetry.lock` · `Cargo.lock` · `uv.lock` 등)은 **손으로 고치지 않는다** — 패키지 매니저로 재생성한다.
14
- - `.env*` · `**/credentials.json` · `.git/` 내부(커밋 메시지·hook 제외) · `~/.gemini/` `~/.claude/` `~/.codex/` 전역 설정은 **보고만** 한다. 직접 수정하지 않는다.
26
+ - `.env*` · `**/credentials.json` · `.git/` 내부(커밋 메시지·hook 제외) · `~/.codex/` `~/.opencode/` `~/.gemini/` `~/.claude/` 전역 설정은 **보고만** 한다. 직접 수정하지 않는다.
@@ -2,7 +2,7 @@
2
2
 
3
3
  > **Linked SPEC**: `docs/specs/codex-compat.md` Phase B
4
4
  > **Linked ADR**: `docs/decisions/ADR-002-codex-hook-gap.md` v2
5
- > **Codex Version**: 0.124.0+ (`codex_hooks=stable, multi_agent=stable, plugins=stable` 전제)
5
+ > **Codex Version**: 0.124.0+ (훅 · multi_agent · plugins 는 Codex 기본값 true 인 stable 기능 — `config.toml.template` 은 `[features]` 를 쓰지 않는다. 옛 키 `codex_hooks` 는 deprecated, `child_agents_md` 는 Codex 가 모르는 키라 매 세션 경고를 만들었다 — #724)
6
6
 
7
7
  ## 목적
8
8
 
@@ -13,10 +13,12 @@ Claude Code SSOT(`templates/`, `.claude/`)에서 Codex CLI 프로젝트로 **포
13
13
  ```
14
14
  templates/codex/
15
15
  ├── README.md # 본 파일
16
- ├── AGENTS.md.template # 프로젝트 AGENTS.md (CLAUDE.md에서 생성)
17
16
  └── config.toml.template # 프로젝트 .codex/config.toml (hooks + mcp + sandbox)
18
17
  ```
19
18
 
19
+ `AGENTS.md` 의 템플릿은 이 디렉터리에 없다 — Codex · OpenCode · Antigravity 가 같은 파일을 읽으므로 템플릿 하나
20
+ (`templates/AGENTS.md.template`)를 깔린 CLI 집합으로 렌더한다(`src/agents-md-render.ts` · #642 · ADR-103).
21
+
20
22
  훅 스크립트는 이 디렉터리에 없다 — 설치기가 `templates/hooks/session-start.sh` 를 포팅해
21
23
  `<project>/.codex/hooks/` 에 놓는다(`src/codex/transform.ts` `HOOK_NAMES`). 자리표시자 사본을 두면
22
24
  설치본에 안 나가는 파일이 리포에 남아 배선을 오독하게 한다(#438).
@@ -25,7 +27,7 @@ templates/codex/
25
27
 
26
28
  | 템플릿 | 대상 경로 |
27
29
  |--------|-----------|
28
- | `AGENTS.md.template` | `<project>/AGENTS.md` |
30
+ | `../AGENTS.md.template` (세 CLI 공용) | `<project>/AGENTS.md` |
29
31
  | `config.toml.template` | `<project>/.codex/config.toml` |
30
32
  | `templates/hooks/session-start.sh` (포팅) | `<project>/.codex/hooks/session-start.sh` |
31
33
  | 사용자 `~/.codex/config.toml`에 trust 등록 추가 | (D4 opt-in 확인) |
@@ -45,7 +47,6 @@ stdin JSON 필드(`session_id`, `cwd`, `tool_name`, `tool_input`, `hook_event_na
45
47
 
46
48
  ## 미구현 (후속 Phase)
47
49
 
48
- - `AGENTS.md.template` 본문 — CLAUDE.md에서 변환 (Phase C)
49
50
  - `setup-harness.sh --cli=codex` 경로 — Phase D
50
51
  - Trust entry 확인 프롬프트 — Phase D
51
52
  - `--cli=codex` dogfood 검증 — Phase F
@@ -54,4 +55,4 @@ stdin JSON 필드(`session_id`, `cwd`, `tool_name`, `tool_input`, `hook_event_na
54
55
 
55
56
  - `.claude/` (Claude SSOT) — 절대 수정 금지
56
57
  - `~/.codex/` 글로벌 — `setup-harness.sh`가 opt-in 확인 후에만 trust 등록
57
- - 본 디렉토리 `AGENTS.md.template`과 `config.toml.template`의 플레이스홀더 토큰 (Phase C 변환 스크립트 계약)
58
+ - `templates/AGENTS.md.template` 과 본 디렉토리 `config.toml.template` 의 플레이스홀더 토큰 (변환 모듈 계약)
@@ -54,17 +54,6 @@ command = "{PROJECT_DIR}/.codex/hooks/session-start.sh"
54
54
  type = "command"
55
55
  timeout = 10
56
56
 
57
- # ============================================================
58
- # Features (본 설치가 사용하는 stable feature 명시)
59
- # ============================================================
60
- [features]
61
- codex_hooks = true # stable, 기본값 true — 명시적 확정
62
- multi_agent = true # stable — subagent SOD
63
- plugins = true # stable — plugin 번들 호환
64
- tool_search = true # stable
65
- skill_mcp_dependency_install = true # skill이 MCP 자동 설치
66
- child_agents_md = false # under dev — 본 SPEC 범위 밖
67
-
68
57
  # ============================================================
69
58
  # MCP Servers — 설치기가 이 아래에 이 프로젝트 트랙의 서버를 붙인다
70
59
  # 원천 = templates/mcp.json + templates/track-mcp-map.tsv (Claude .mcp.json 과 같다, #568)
@@ -6,7 +6,7 @@
6
6
  이 디렉토리는 OpenCode CLI 호환 자산을 생성하기 위한 **마스터 템플릿**이다. Claude Code SSOT(`.claude/`, `.mcp.json`, `templates/CLAUDE.md`)로부터 transform 모듈이 다음 출력을 생성:
7
7
 
8
8
  ```
9
- <project>/AGENTS.md ← AGENTS.md.template + CLAUDE.md
9
+ <project>/AGENTS.md ← ../AGENTS.md.template(세 CLI 공용) + CLAUDE.md
10
10
  <project>/opencode.json ← opencode.json.template + .mcp.json
11
11
  ```
12
12
 
@@ -14,7 +14,6 @@
14
14
 
15
15
  | 파일 | 용도 | Phase |
16
16
  |------|------|-------|
17
- | `AGENTS.md.template` | 프로젝트 root AGENTS.md 마스터 | B1 (현재) / C1 transform |
18
17
  | `opencode.json.template` | `opencode.json` 마스터 ($schema + mcp + command + agent + plugin + permission) | B3 |
19
18
 
20
19
  ## 디자인 결정
@@ -1,31 +0,0 @@
1
- # {PROJECT_NAME} — Codex Agent Guide
2
-
3
- ## Project Context
4
-
5
- {PROJECT_CONTEXT}
6
-
7
- ## Project Rules
8
-
9
- {PROJECT_RULES}
10
-
11
- ## Harness Rules
12
-
13
- > Codex 는 룰 디렉터리가 없고 `AGENTS.md` 계층만 읽는다. 그래서 하네스가 설치한 룰이 여기 본문으로
14
- > 들어온다. 이 프로젝트에서만 지킬 규칙을 세우면 이 문서에 이어 쓴다.
15
- >
16
- > 하위 디렉터리 `AGENTS.md` 로 범위를 좁히는 것도 되지만, Codex 는 **합친 크기**가
17
- > `project_doc_max_bytes`(기본 32 KiB)에 닿으면 **거기서 읽기를 멈춘다** — 뒤에 오는 파일이
18
- > 조용히 빠지고, 하위 파일이 뒤에 온다. 나눠 쓰기 전에 총량을 먼저 본다.
19
-
20
- {HARNESS_RULES}
21
-
22
- ## Session Start
23
-
24
- `docs/SPEC.md` 가 있으면 세션 시작 때 먼저 읽는다 — 현재 범위와 완료 기준의 앵커다. 없으면 이 줄은 해당 없다.
25
-
26
- ## Protected Files
27
-
28
- Codex `sandbox_mode = "workspace-write"` + `approval_policy = "on-request"` 가 1차 방어다. 그 위에:
29
-
30
- - lock 파일(`package-lock.json` · `pnpm-lock.yaml` · `poetry.lock` · `Cargo.lock` · `uv.lock` 등)은 **손으로 고치지 않는다** — 패키지 매니저로 재생성한다.
31
- - `.env*` · `**/credentials.json` · `.git/` 내부(커밋 메시지·hook 제외) · `~/.codex/` `~/.claude/` 전역 설정은 **보고만** 한다. 직접 수정하지 않는다.
@@ -1,23 +0,0 @@
1
- # {PROJECT_NAME} — OpenCode Agent Guide
2
-
3
- ## Project Context
4
-
5
- {PROJECT_CONTEXT}
6
-
7
- ## Project Rules
8
-
9
- {PROJECT_RULES}
10
-
11
- ## Harness Rules
12
-
13
- > 하네스가 설치한 룰이 여기 본문으로 들어온다. 이 프로젝트에서만 지킬 규칙을 세우면 이 문서에
14
- > 이어 쓰거나, 하위 디렉터리에 `AGENTS.md` 를 두면 그 범위에서 더 구체적인 규칙이 된다.
15
-
16
- {HARNESS_RULES}
17
-
18
- ## Protected Files
19
-
20
- OpenCode `permission` 설정이 1차 방어다. 그 위에:
21
-
22
- - lock 파일(`package-lock.json` · `pnpm-lock.yaml` · `poetry.lock` · `Cargo.lock` · `uv.lock` 등)은 **손으로 고치지 않는다** — 패키지 매니저로 재생성한다.
23
- - `.env*` · `**/credentials.json` · `.git/` 내부(커밋 메시지·hook 제외) · `~/.opencode/` `~/.codex/` `~/.claude/` 전역 설정은 **보고만** 한다. 직접 수정하지 않는다.