Skip to content

fix(hooks): Stop 게이트가 인계 노트의 spec ID 를 알아봐요 (v0.7.5) - #28

Merged
bluecheat merged 1 commit into
mainfrom
fix/spec-gate-match-spec-id
Oct 3, 2026
Merged

bluecheat merged 1 commit into
mainfrom
fix/spec-gate-match-spec-id

Conversation

@bluecheat

@bluecheat bluecheat commented Oct 3, 2026 •

Copy link
Copy Markdown
Owner

문제

stop/spec-gate.sh 는 인계 노트(handoff.now)를 grep -qF "$SPEC" 로 봐요. 그래서 디렉터리 전체 이름(2026-10-03-1b92-sharing-movement-web-mvp)만 찾았어요. 다른 스크립트의 --spec 은 2026-10-03-1b92 같은 ID 접두로 spec 을 찾아요.

실측

status-note.sh --set now "spec 2026-10-03-1b92 implementing — …" 로 적었는데, 게이트가 "인계 노트에 적혀 있지 않다" 며 한 번 더 막았어요. 전체 이름으로 다시 적어야 통과했어요.

변경

  • ID 매칭: spec ID 를 common.sh 의 goax_doc_key 로 뽑아요. 이 함수가 형식 판별 SSOT 이고, 옛 순번 NNN 도 다뤄요. 노트에 ID 가 있고 그 앞뒤가 ASCII 영숫자가 아니면 인정해요.
    • 014 가 T0140·2014 에 걸리지 않아요.
    • 1b92에서 처럼 한글이 바로 붙어도 알아봐요. UTF-8 로케일의 awk 는 한글도 [[:alnum:]] 으로 봐서 그 클래스를 쓰지 않았어요.
  • 그대로인 것: 전체 이름 부분 일치와 24시간(now_at) 조건은 그대로예요.
  • 안내 문구: status-note.sh --set now 예시가 spec ID 를 써요. 끝 문장도 "spec ID(…) 나 전체 이름이 24시간 안에 적혀 있으면 다시 잡지 않아요" 로 바꿨어요.
  • 문서: hooks/README.md 의 Stop 게이트 절을 고쳤어요.
  • 버전: 0.7.5 로 올리고 changelog 를 더했어요.

검증

$ bash tests/smoke.sh   # macOS bash 3.2.57
✓ 모든 smoke 검증 통과   (exit 0, ✓ 738)

Stop 게이트 smoke 를 5건 더했어요.

  • 옛 순번 ID 로 적은 노트를 인정해요.
  • T0140·2014 는 014 로 보지 않아요.
  • 안내 문구에 ID 예시가 나와요.
  • 새 ID, 한글이 붙은 ID, 전체 이름을 모두 인정해요.
  • 다른 spec 의 ID(…-1b93)는 인정하지 않아요.

🤖 Generated with Claude Code

https://claude.ai/code/session_015TshVdvCw3iHGj81WMDoMG

spec-gate.sh 가 handoff.now 에서 spec 디렉터리 전체 이름만 grep 해서, 다른 스크립트의 --spec 처럼
"spec 2026-10-03-1b92 implementing" 으로 적은 노트를 불인정하고 한 번 더 막았어요 (실측).

- goax_doc_key 로 ID(YYYY-MM-DD-<4hex> · 옛 순번 NNN)를 뽑아 경계 있는 매칭 (T0140·2014 는 014 아님,
  1b92에서 는 인정). 전체 이름 부분 일치 · 24시간 조건은 그대로
- 안내 문구의 status-note 예시를 ID 로, ID 로도 통과한다고 알림
- hooks/README Stop 게이트 절, smoke 5건, changelog 0.7.5

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_015TshVdvCw3iHGj81WMDoMG
@bluecheat
bluecheat force-pushed the fix/spec-gate-match-spec-id branch from 0887ca9 to d27dc40 Compare October 3, 2026 14:14
@bluecheat bluecheat changed the title fix(hooks): Stop 게이트가 인계 노트의 spec ID 를 알아봐요 (v0.7.4) fix(hooks): Stop 게이트가 인계 노트의 spec ID 를 알아봐요 (v0.7.5) Oct 3, 2026
@bluecheat
bluecheat merged commit 59739e9 into main Oct 3, 2026
2 checks passed
@bluecheat
bluecheat deleted the fix/spec-gate-match-spec-id branch October 3, 2026 14:17
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