Skip to content

feat(doctor): 프로젝트에 적용된 하네스 버전을 기록하고 doctor에서 보여 준다 - #118

Merged
hsleedevelop merged 4 commits into
mainfrom
ao/harness-aijient-team-plugin-14/harness-version-stamp
Oct 3, 2026
Merged

hsleedevelop merged 4 commits into
mainfrom
ao/harness-aijient-team-plugin-14/harness-version-stamp

Conversation

@hsleedevelop

Copy link
Copy Markdown
Contributor

요약

소비자 프로젝트에 "마지막으로 init을 적용한 팀하네스 버전"을 기록하고 doctor에서 보여 준다 (task hslee/harness-version-stamp).

  • 기록: init이 .harness/render-state.json에 실행 중인 하네스의 package.json version을 harnessVersion으로 쓴다 (src/harness.mjs planChanges — 기존 init 저장 경로 재사용). 타임스탬프는 넣지 않아 같은 버전 재실행은 diff가 없다. version(스키마 버전)과는 별개.
  • 로드: loadRenderState는 fix(stack-pin-display): harness-team stack이 render-state 고정 스택을 보여 주지 않던 문제 #113 stack 선례처럼 semver 형식일 때만 harnessVersion을 통과시킨다. 없거나 틀리면 기록 이전 설치본.
  • 표시: doctor에 harness version: project applied X · CLI Y · plugin Z 한 줄 (--json은 check + versions: { project, cli, plugin }). 기록 없음은 unknown (기록 이전 설치), plugin-dev 저장소는 n/a.
  • 경고: 적용 < 실행 중 CLI → warning + next_actions harness-team init --yes. 적용 > CLI → warning(구버전 CLI init은 관리 절 퇴행 위험) + 기존 CLI 갱신 명령. init 차단은 하지 않는다.
  • 비교: compareVersions(major.minor.patch 3-way, 새 의존성 없음)를 doctor.mjs에 추가. checkCliDrift의 installed_plugins.json 읽기를 readInstalledHarnessVersion으로 떼어 재사용.
  • README(render-state 설명·doctor 절), CHANGELOG [Unreleased] 갱신.

src 수정 파일 3개: src/render-state.mjs, src/harness.mjs, src/commands/doctor.mjs.

검증

  • npm run test: 1078 pass / 0 fail / 1 skip (+ perf 1 pass)
  • npm run docs:check: 최신
  • 추가 테스트: harnessVersion semver 필터(정상·prerelease+build·형식 오류 폐기) / readHarnessVersion / compareVersions / 경고 작음·같음·큼 / unknown·plugin-dev / e2e(init 후 기록 → doctor pass → 기록을 낮추면 warning + init --yes)
  • 임시 소비자 프로젝트 실측: init → render-state에 harnessVersion 기록, doctor 일치 pass, 0.40.0으로 낮추면 warning + harness-team init --yes
  • codex read-only 리뷰: P2 1건(prerelease+build 동시 사용 semver 거부) → 수정·테스트 추가. 상세는 artifact ## Reviews.

위험 / 후속

  • 기존 설치본은 다음 init까지 unknown으로 표시되고 경고하지 않는다(의도).
  • 적용 > CLI 경고의 next_action은 PATH CLI 갱신 명령(marketplace clone pull)이다 — doctor를 node <path>/bin/harness-team.mjs로 직접 실행한 경우엔 그 경로의 갱신이 필요하다.
  • 후속 후보: SessionStart 훅 nudge(적용 < CLI일 때 한 줄) — 이번 범위 밖.
  • release·머지·harness-team done·summary --write는 하지 않았다.

🤖 Generated with Claude Code

hsleedevelop and others added 4 commits October 3, 2026 13:46
init이 render-state에 harnessVersion(실행 중인 하네스 package.json version)을
남기고, doctor가 project applied · CLI · plugin 한 줄과 --json versions를 낸다.
적용 버전 < CLI면 init --yes 처방 경고, > CLI면 관리 절 퇴행 위험 경고.
기록 없는 기존 설치본은 unknown으로 보고 경고하지 않는다.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…rsion으로 인정한다

codex 리뷰 P2 반영 — 문자 클래스에 +가 없어 0.44.5-rc.1+build.7을 거부했다.
artifact에 결과·리뷰·학습을 기록하고 context card를 ship 단계로 갱신한다.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@hsleedevelop
hsleedevelop merged commit c8b069f into main Oct 3, 2026
1 check passed
hsleedevelop added a commit that referenced this pull request Oct 3, 2026
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@hsleedevelop
hsleedevelop deleted the ao/harness-aijient-team-plugin-14/harness-version-stamp branch October 3, 2026 05:54
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant