Skip to content

v0.4.1: lg verify

Choose a tag to compare

@qazcdesnu qazcdesnu released this 03 Oct 10:23
· 24 commits to main since this release
fc9b49e

요약

에이전트가 규칙을 지켰는지 커밋 이력으로 사후 확인하는 **lg verify**를 더하고, 게이트 판정 때 lg commit이 그 요약을 보여 준다. 연구 프로젝트에서 v0.4.0을 쓰며 드러난 문구 문제와 README를 고쳤다. spec_version은 4 그대로라 생성되는 프로젝트는 바뀌지 않는다.

주요 내용

lg verify [--task TASK | --since REV | --all] (읽기만 함)

  • 기본 범위는 마지막 gate/* tag 이후. 그 프로젝트의 hook·사양 문서에서 규칙을 읽어 그 버전의 규칙으로 검사한다.
  • V1 신원과 타입(hook을 우회한 커밋도), V2 사람 몫의 상태 전이(G4)에 Applies/Refs 근거가 있는지, V3 에이전트의 ## 응답 수정(G5), V4 규칙 파일 수정(G7, 카드의 "범위 › 포함"을 함께 보여 줌), V5 문서 형식.
  • --task는 점검표(완료 기준 체크 수, 요청서 근거 경로, 바뀐 파일)를 붙인다. 판정은 사람이 한다.
  • 위반이면 코드 3. 에이전트도 실행할 수 있다.

lg commit

  • gate 커밋을 확인할 때 lg verify --task 요약을 보여 준다. 막지는 않는다.
  • 커밋 뒤 안내를 커밋 종류에 따라 다르게 한다. 에이전트는 세션 시작 때 사람 커밋을 자동으로 확인하므로, 알리라는 안내는 열린 세션이 기다릴 때만 나온다(초안 모드, gate·respond·decide·plan+Approve). spec이면 열린 세션을 새로 시작하라고 한다.

lg upgrade

  • 릴리즈된 버전과 다른 관리 문서를 "사람이 고친 문서"라고 단정하지 않고 "릴리즈된 spec_version N과 다른 문서"라고 쓴다. 줄 수를 함께 보여 준다.
  • --diff: 다른 문서마다 지금 파일 → 새 버전의 차이를 보여 준다.

문서

  • README "사용"을 다시 썼다: 첫 승인, 터미널 두 개, 한 task의 흐름, init 뒤에 저절로 돌아가는 것, 모든 lg 명령.
  • 명령 설명서 lg-verify.md, 사용자 작업 설명서의 하루 작업·게이트 판정·바로잡기에 lg verify.

실사용에서 나온 것

  • lg upgrade가 릴리즈 전 dev 상태를 복사한 문서를 "사람이 고친 문서"라고 표시해 오해를 낳음 → 문구와 --diff.
  • lg commit이 커밋할 때마다 "에이전트에게 알리세요"라고 해서, 자동 감지가 안 되는 것처럼 보임 → 커밋 종류별 안내.
  • 실제 M0-T0 게이트 요청서에서 lg verify가 M0-T5.md(파일 이름만 쓴 것)와 ## Go / No-go 기준(섹션 인용)을 없는 경로로 보고 → 경로 판별 수정.

확인

  • 테스트 404개. Python 3.10–3.14 × 최신·최소 의존성, 생성 스크립트 Python 3.9. spec_version 4 템플릿 해시는 그대로(동결 테스트 통과).
  • 연구 프로젝트(ssm-latent-reasoning)에서 lg verify, lg verify --task M0-T0 실행: 위반 없음.

설치·업데이트

pipx install --force git+https://github.com/qazcdesnu/labgate.git@v0.4.1
lg --version

spec_version이 4 그대로이므로 v0.4.0으로 만들거나 올린 프로젝트는 lg upgrade가 필요 없다. v0.2·v0.3 프로젝트는 docs/guide/upgrade.md.

변경 PR: #5 · 이전 릴리즈: v0.4.0