에이전트 제로프릭션 온보딩 — 한 명령으로 설치·검증·MCP배선·첫 레시피까지 (#4852) - #4853
Closed
kevin9327 wants to merge 2 commits into
Closed
Conversation
한 명령(tools/agent_onboarding/rhwp_doctor.py)으로 바이너리 검증 → 번들 샘플 자가검증(info/export-text) → 붙여넣기용 .mcp.json 방출 → 첫 5분 레시피 지도까지 수행한다. --json 기계 판독과 종료 코드(0/1/2/3)로 신호하고, 바이너리 미빌드 시 크래시·행 없이 빌드 명령 안내 후 exit 3 으로 우아하게 저하한다. 함께 추가: 5분 경로 문서(mydocs/manual/agent_onboarding.md, 한글), 얇은 온보딩 스킬(.claude/skills/rhwp-onboarding/), 바이너리 불요 가드 테스트 (tools/agent_onboarding/test_rhwp_doctor.py). tools/·mydocs/·.claude/skills/ 아래 새 파일만 추가하며 병렬 세션 소유 표면은 건드리지 않는다. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
|
You have reached your Codex usage limits for code reviews. You can see your limits in the Codex usage dashboard. |
CI 테스트 샤드가 실패했다 (PR edwardkim#4853): skills_contract::skills_have_valid_frontmatter_and_are_executable — "rhwp-onboarding: 실행 가능한 `rhwp <명령>` 참조가 하나도 없다 — 스킬은 안내문이 아니라 실행 규약이다". 스킬이 닥터(python)만 가리키고 정작 그 닥터가 무엇을 돌리는지는 산문으로만 적혀 있었다. 닥터가 실제 실행하는 명령을 그대로 싣는다 — FAIL 이 났을 때 손으로 같은 명령을 쳐 원인을 보는 것이 온보딩의 핵심 동작이기 때문이다. rhwp_doctor.py 의 실측과 일치시켰다(--version, info --json, export-text --json --max-chars 2000, 샘플은 SAMPLE_CANDIDATES 첫 항목). 배선 확인용 mcp-serve 와 첫 과제 최단 경로(explain·digest)도 함께 적었다. 검증: skills_contract 2/2 통과, 문서에 적은 5개 명령을 실제 바이너리로 전부 실행해 exit 0 확인(작동하지 않는 예시를 남기지 않는다). Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
jangster77
pushed a commit
that referenced
this pull request
Aug 15, 2026
CI 테스트 샤드가 실패했다 (PR #4853): skills_contract::skills_have_valid_frontmatter_and_are_executable — "rhwp-onboarding: 실행 가능한 `rhwp <명령>` 참조가 하나도 없다 — 스킬은 안내문이 아니라 실행 규약이다". 스킬이 닥터(python)만 가리키고 정작 그 닥터가 무엇을 돌리는지는 산문으로만 적혀 있었다. 닥터가 실제 실행하는 명령을 그대로 싣는다 — FAIL 이 났을 때 손으로 같은 명령을 쳐 원인을 보는 것이 온보딩의 핵심 동작이기 때문이다. rhwp_doctor.py 의 실측과 일치시켰다(--version, info --json, export-text --json --max-chars 2000, 샘플은 SAMPLE_CANDIDATES 첫 항목). 배선 확인용 mcp-serve 와 첫 과제 최단 경로(explain·digest)도 함께 적었다. 검증: skills_contract 2/2 통과, 문서에 적은 5개 명령을 실제 바이너리로 전부 실행해 exit 0 확인(작동하지 않는 예시를 남기지 않는다). Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Collaborator
|
통합 PR #4883(4412546)로 병합 완료했습니다. 원 head와 CI를 다시 확인해 누적 반영했고, 상세 검토·메인터너 보정·검증 근거는 archive 검토 기록에 남겼습니다. 중복 병합을 막기 위해 이 원 PR을 닫습니다. 감사합니다. |
Collaborator
|
통합 PR #4883(4412546)로 병합 완료했습니다. 원 head와 CI를 다시 확인해 누적 반영했고, 상세 검토·메인터너 보정·검증 근거는 archive 검토 기록에 남겼습니다. 중복 병합을 막기 위해 이 원 PR을 닫습니다. 감사합니다. |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
무엇을 / 왜
에이전트는 사소하게 채택 가능한 도구를 기본값으로 고른다. 이 PR 은 rhwp 의 자발적 채택
레버로, "처음 보는 에이전트 → 설치·검증·MCP배선·첫 레시피까지"의 거리를 한 명령으로 줄인다.
python tools/agent_onboarding/rhwp_doctor.py(순수 Python 3 표준 라이브러리, 의존성 0) 하나가:PATH→target/release/rhwp순으로 찾고rhwp --version확인. 없으면cargo build --release --bin rhwp를 찍고 exit 3 으로 신호(긴 빌드를 대신 돌리지 않음).samples/basic/english.hwp로info/export-text --json을 돌려 구조출력을 확인. 통과를 위조하지 않는다 — 못 돌린 검사는
SKIP/FAIL로 이유와 함께 보고..mcp.json방출 —rhwp mcp-serve.PATH에 없으면 절대 경로를 채워준다.--write <경로>(기존 파일은--force없이 덮어쓰지 않음).보안 스윕·작업 영수증).
--json으로 기계 판독(stdout=리포트 JSON 하나), 종료 코드로 정상(0)/임계실패(1)/사용법(2)/빌드필요(3)를 신호한다.
실제 닥터 출력 (이 저장소에서 실측)
바이너리를 빌드한 상태에서
python tools/agent_onboarding/rhwp_doctor.py:우아한 저하(바이너리 미빌드): 크래시·행 없이
[FAIL] rhwp 미발견 … cargo build --release --bin rhwp를 찍고
.mcp.json은command:"rhwp"(PATH 형)로 방출, exit 3.--json은 stdout 에 순수 JSON하나만 낸다(실측 파싱 OK, exit 0).
5분 경로
cargo build --release --bin rhwp(최초 1회)python tools/agent_onboarding/rhwp_doctor.py.mcp.json을 호스트 루트에 붙임(또는--write)정본:
mydocs/manual/agent_onboarding.md.변경 파일 (새 파일만)
tools/agent_onboarding/rhwp_doctor.py— 닥터 + 부트스트랩tools/agent_onboarding/test_rhwp_doctor.py— 바이너리 불요 가드 테스트(16건)mydocs/manual/agent_onboarding.md— 5분 경로 문서(한글).claude/skills/rhwp-onboarding/SKILL.md— 얇은 온보딩 스킬(닥터·문서로 라우팅)src/**· MCP 서버 모듈 ·gym/tools/**·main.rs/CLI 디스패치 · 기존 명령 파일 ·ci.yml은건드리지 않았다(병렬 세션 소유 표면).
검증 (이 머신에서 실측)
--write덮어쓰기 보호 exit 2,--force로 0.python -m unittest tools/agent_onboarding/test_rhwp_doctor.py→ 16 passed(바이너리 불요:
.mcp.json방출·집계 종료코드·레시피 실존·샘플 선택).python scripts/check_markdown_links.py두 신규 md 통과(이상 없음).후속 (이 PR 범위 밖)
lint잡의 python unittest 목록에 한 줄로 추가하면 매 PR 에서 돈다.현재 그 영역을 병렬 세션들이 활발히 편집 중이라 앵커 충돌을 피해 이 PR 에서는 뺐다 — 별도
1줄 배선 PR 로 남긴다.
rhwp onboard(닥터를 CLI 표면으로 승격)가 더 나을 수 있으나main.rs/디스패치 소유 충돌을 피해 이번엔 Python + docs 로 유지한다.
Closes #4852