Skip to content

feat(notify): 관계있다로 답한 변경의 적용 범위를 AI에게 전달 - #63

Merged
RCatMin merged 5 commits into
mainfrom
feat/sil-98-scope-hint
Oct 16, 2026
Merged

RCatMin merged 5 commits into
mainfrom
feat/sil-98-scope-hint

Conversation

@RCatMin

@RCatMin RCatMin commented Oct 16, 2026 •

Copy link
Copy Markdown
Member

관련 이슈

변경점

정할 것 결정
적용 범위를 어디에 보여 줄지 AI에게만 줍니다. 터미널 화면은 그대로 둡니다
관계있다로 답한 뒤 AI가 할 일 적용 범위부터 훑어 새 값과 다른 곳을 알려 주기만 합니다. 사람이 시킬 때만 고칩니다
적용 범위가 없거나 경로를 못 찾을 때 그 사실을 말하고, 사람이 원할 때만 결정 사항 제목과 값으로 찾아봅니다 (부건님 의견으로 v2)
타입 모양 core의 StandardScope를 그대로 가져다 씁니다. DB는 바뀌지 않습니다
  • list_pending 항목의 standard.scope에 그 버전의 적용 범위를 담았습니다. 웹 앱도 같은 목록 함수를 써서 같은 칸을 받습니다.
  • respond가 관계있다로 저장하면 결과에 scopeCheck(결정 사항 ID, 버전, 적용 범위, 안내)를 더합니다. 관계없다면 넣지 않습니다.
  • hooks의 질문 순서 안내와 서버 안내문 8번에 scopeCheck를 따르라는 문장을 더했습니다.
  • 위키에 새 결정 사항 notify.answer.scope-hint, notify.answer.scope-missing을 더했습니다. T1 절차로 묻고 팀 DB에 저장했습니다(10/16 11:17, 11:18).
  • 부건님 SIL-98 의견을 반영했습니다.
    • 다른 곳이 있으면 결정 사항마다 표 하나로 알립니다. 표 위에 결정 사항 제목, 칸은 "위치 | 코드 | 지금 값", 최대 5줄(넘으면 "외 N곳"), 표 아래에 "고치려면 말씀해 주세요."를 붙입니다.
    • 다른 곳이 없으면 "적용 범위 안에서 바뀐 변경사항과 다른 곳은 없어요."라고 말합니다.
    • 표 위 제목과 "지금 값"을 쓰도록 scopeCheck에 결정 사항 제목과 값을 더했습니다.
    • 적용 범위가 비었을 때: "바뀐 결정 사항에 적용 범위가 적혀 있지 않아 다른 곳을 찾지 못했어요. 필요하신 경우 제목과 값으로 코드를 찾아볼게요."
    • 적힌 경로를 하나도 못 찾았을 때: "적힌 경로 <경로>를 찾지 못했어요. 필요하신 경우 제목과 값으로 코드를 찾아볼게요."
    • 일부 경로만 없을 때: 표를 먼저 보여 주고 그 아래에 "적힌 경로 <경로>를 찾지 못했어요."만 붙입니다.
    • 이를 위해 notify.answer.scope-missing을 v2로 바꿨습니다. T1 절차로 묻고 팀 DB에 저장했습니다(10/16 12:14).
  • packages/notify, apps/mcp-server README를 고쳤습니다.

변경 사유

알림에는 이전 값, 지금 값, 이유, 이슈만 있어서 관계있다로 답해도 AI가 어디를 봐야 할지 단서가 없었습니다.
10/14 호윤님 결정대로 서비스는 단서(적용 범위)까지만 주고, 코드를 찾는 것은 에이전트, 고칠지는 사람이 정합니다.
적힌 코드 경로 38개 중 10개만 실제로 있어서, 경로를 못 찾을 때 조용히 넘어가지 않게 했습니다.

검증

  • pnpm check를 통과했습니다 (notify 91개, 전체 vitest 261개).
  • respond 테스트: 적용 범위가 없을 때 scope: null과 "적혀 있지 않아요" 안내, 적용 범위가 있을 때 그 버전의 값, 관계없다면 scopeCheck 없음.
  • list_pending에 같은 적용 범위가 들어 있는 것, 웹 방식과 같은 목록인 것을 확인했습니다.
  • python3 team-wiki/scripts/check_wiki.py team-wiki: 오류 0개, 경고 0개.

향후 확인이 필요한 점

  • 실제 Claude Code에서 AI가 안내대로 적용 범위를 훑고 짧게 알려 주는지는 배포 뒤 확인해야 합니다.
  • 타입에 core StandardScope를 쓴 것은 정민님이 확인했습니다 (10/16).
  • 적힌 경로를 실제 코드에 맞게 정리하는 일은 이 이슈 범위 밖입니다 (pnpm sil scope-check).
  • 서버만 바뀌어서 팀원 재등록은 필요 없습니다.

RCatMin and others added 2 commits October 16, 2026 11:16
Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
…(SIL-98)

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
@RCatMin RCatMin changed the title feat(notify): 관계있다로 답하면 AI에게 적용 범위 단서 전달 feat(notify): 관계있다로 답한 변경의 적용 범위를 AI에게 전달 Oct 16, 2026
RCatMin and others added 3 commits October 16, 2026 12:10
Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
@RCatMin
RCatMin merged commit 25d8606 into main Oct 16, 2026
@github-actions

Copy link
Copy Markdown

바뀐 결정 사항 찾기 · PR #63

지금은 결정 사항을 저장하지 않고 결과만 알려 주는 기간이에요. 저장했다면 아래처럼 했을 거예요.

@RCatMin 이 PR에서 결정 사항이 여러 개 바뀐 것 같아요. 한 번에 하나만 저장해서 직접 확인을 부탁드려요.

notify.answer.scope-hint 관계있다로 답하면 AI가 적용 범위부터 훑어 다른 곳을 알려 준다

  • 지금 값: 담당자가 관계있다로 답하면 AI는 그 결정 사항의 적용 범위부터 훑어서 지금 결과물이 새 값과 다른 곳을 알려 주기만 하고, 사람이 시킬 때만 고친다
  • 바뀐 것 같은 값: 담당자가 관계있다로 답하면 AI는 그 결정 사항의 적용 범위부터 훑어서 지금 결과물이 새 값과 다른 곳을 알려 주기만 하고, 사람이 시킬 때만 고친다
  • 코드에서 바뀐 것: 답하기 코드에 관계있다로 답하면 적용 범위를 함께 주고, AI가 그 범위부터 훑어 새 값과 다른 곳을 알려 주기만 하고 고치지 않도록 하는 안내가 새로 들어갔고, 결정 사항에는 이미 같은 값이 저장되어 있어요.
  • PR에 적힌 이유: 알림에는 이전 값, 지금 값, 이유, 이슈만 있어서 관계있다로 답해도 AI가 어디를 봐야 할지 단서가 없었습니다.
+  '모든 질문이 끝난 뒤 원래 요청을 처리하기 전에, scope.code 경로부터 훑어서 지금 결과물이 value와 다른 곳을 찾는다. 고치지는 않는다. 사람이 고치라고 할 때만 고친다. ' +
+    'scopeCheck가 있으면 그 guide대로 적용 범위부터 훑어서 새 값과 다른 곳을 알려 주기만 해요. ' +
+      if (!checked.affected || !check) return result;
+          guide: SCOPE_GUIDE,
+    : '모든 변경에 답했거나(잘 모르겠다로 남긴 것 포함) 사용자가 질문을 닫았으면, respond 결과에 scopeCheck 가 있던 변경마다 그 guide 대로 적용 범위를 훑어 새 값과 다른 곳을 먼저 알려 준다(고치지는 않는다). 그다음 사용자의 원래 요청을 처리한다. 그 밖에는 확인한 변경에 대해 따로 말하지 않는다.';

notify.answer.scope-missing 적용 범위가 없거나 경로를 못 찾으면 그렇다고 말하고, 원하면 찾아본다

  • 지금 값: 적용 범위가 비어 있거나 적힌 경로를 하나도 찾지 못하면 AI는 그 사실을 말하고, 사람이 원할 때만 결정 사항 제목과 값으로 코드를 찾아본다
  • 바뀐 것 같은 값: 적용 범위가 비어 있거나 적힌 경로를 하나도 찾지 못하면 AI는 그 사실을 말하고, 사람이 원할 때만 결정 사항 제목과 값으로 코드를 찾아본다
  • 코드에서 바뀐 것: 답하기 코드에 적용 범위가 없거나 적힌 경로를 하나도 못 찾으면 그 사실을 말하고 사람이 원할 때만 제목과 값으로 찾도록 하는 안내가 새로 들어갔고, 결정 사항에는 이미 같은 값이 저장되어 있어요.
  • PR에 적힌 이유: 적힌 코드 경로 38개 중 10개만 실제로 있어서, 경로를 못 찾을 때 조용히 넘어가지 않게 했습니다.
+  'scope가 null이거나 비어 있으면 "바뀐 결정 사항에 적용 범위가 적혀 있지 않아 다른 곳을 찾지 못했어요. 필요하신 경우 제목과 값으로 코드를 찾아볼게요."라고만 말한다. ' +
+  '적힌 경로를 하나도 찾지 못하면 "적힌 경로 <경로>를 찾지 못했어요. 필요하신 경우 제목과 값으로 코드를 찾아볼게요."라고만 말한다. ' +
+  '어느 경우든 사람이 찾아 달라고 할 때만 title과 value로 코드를 찾아본다. 조용히 넘어가지 않는다.';
+          scope: hasScope(scope) ? scope : null,

결정 사항은 그대로 두었어요. 바뀐 게 맞으면 Claude Code에서 "결정 사항을 바꿔 줘"라고 말해 주세요. 바뀐 게 아니면 이 댓글은 넘어가셔도 돼요.

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