Skip to content

feat(mcp-server): 터미널에서 작업 반영 표시를 남기는 mark_reflected 도구 추가 - #45

Merged
RCatMin merged 3 commits into
mainfrom
feat/sil-93-mark-reflected
Oct 15, 2026
Merged

RCatMin merged 3 commits into
mainfrom
feat/sil-93-mark-reflected

Conversation

@RCatMin

@RCatMin RCatMin commented Oct 15, 2026

Copy link
Copy Markdown
Member

관련 이슈

무엇을 바꿨나요

  • @sil/notify에 작업 반영 표시를 저장하기 전에 검사하는 checkReflect를 추가했습니다. 브라우저 입구에서도 가져올 수 있습니다.
  • MCP 도구 mark_reflected를 추가했습니다. 입력은 확인할 변경 ID와 작업 반영 여부(켜기/끄기) 두 가지입니다. 사람 이름은 다른 알리기 도구와 같이 X-Sil-User에서 가져옵니다.
  • 서버 안내문에 9번 항목을 추가했습니다. 사람이 "작업에 반영했어요"라고 말했을 때만 표시하고, 코드를 보고 짐작해서 표시하지 않도록 적었습니다.
  • apps/mcp-server와 packages/notify README, docs/decisions.md D56을 고쳤습니다.

왜 바꿨나요

담당자가 관계있다로 답한 뒤 실제로 작업에 반영했다는 표시를 터미널에서 남길 방법이 없었습니다.
터미널로만 일하는 사람은 반영해도 DB에 "작업 반영 안 함"으로 남았습니다.

DB 함수 save_reflected는 받은 사람인지, 답한 변경인지만 확인합니다.
위키 notify.check.reflected v2는 "관계있다로 답한 확인할 변경에만" 표시할 수 있다고 정합니다.
그래서 이 규칙은 도구가 DB까지 가기 전에 checkReflect로 확인합니다. 표시 풀기는 잘못 켜진 표시를 지울 수 있도록 관계없다로 답한 변경에도 허락했습니다.

wiki.mcp.five-tools는 위키를 읽고 쓰는 도구만 다섯 개로 정합니다. 알리기 도구(list_pending, respond)와 같이 따로 세는 것으로 보고 추가했습니다.

어떻게 확인했나요

  • pnpm check를 통과했습니다 (notify 78개, 전체 vitest 174개).
  • checkReflect 단위 테스트: 관계있다 통과, 관계없다 거절, 표시 풀기 허락, 대기·대체됨·자동 닫힘 거절, 없는 변경·다른 사람 변경 거절, 답을 찾지 못한 경우 거절을 확인했습니다.
  • HTTP 서버부터 가짜 DB까지 잇는 테스트에서 표시 후 list_pending에 reflected: true가 보이는 것, 표시 풀기, DB 거절 문장이 그대로 전달되는 것을 확인했습니다.
  • 도구 목록 테스트에 mark_reflected를 추가했습니다. 안내문 9번에도 "관계있다"가 들어가서, 관계있다 결정 사항 칸이 없는지 보는 검사는 칸 제목으로 확인하도록 바꿨습니다.

직접 확인하지 못한 부분

  • 실제 팀 DB에서는 돌려보지 않았습니다. 팀 DB에 시험 데이터를 남기지 않기 위해서입니다.
  • 머지 후 MCP 서버를 다시 배포해야 도구가 보입니다.
  • 터미널 상세 화면에 작업 반영 여부를 한 줄로 보여 주는 일은 문구를 부건님과 맞춘 뒤 따로 하겠습니다.

RCatMin and others added 3 commits October 15, 2026 12:06
Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
…ected

# Conflicts:
#	packages/notify/src/browser.ts
@RCatMin
RCatMin merged commit aa9ed5c into main Oct 15, 2026
@github-actions

Copy link
Copy Markdown

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

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

@RCatMin 이 PR에서 결정 사항이 바뀐 것 같은데 확실하지 않아요.

지금 결정 사항에는 '답한 확인할 변경'이면 반영 표시를 할 수 있다고 되어 있는데, 결정 사항도 '관계있다로 답한 변경에만' 표시할 수 있도록 바꾸는 것이 맞나요?

notify.check.reflected 답한 뒤 반영했다고 표시할 수 있다

  • 지금 값: 담당자는 답한 확인할 변경에 반영했다고 표시할 수 있고 표시를 풀어도 이슈를 다시 열지 않는다
  • 바뀐 것 같은 값: 담당자는 관계있다로 답한 확인할 변경에 반영했다고 표시할 수 있고 표시를 풀어도 이슈를 다시 열지 않는다
  • 코드에서 바뀐 것: 새 검사 코드가 관계없다로 답한 변경에는 작업 반영 표시를 막고 관계있다로 답한 변경에만 표시하게 해서, 지금 결정 사항(답한 변경이면 표시 가능)보다 좁아졌어요.
  • PR에 적힌 이유: 위키 notify.check.reflected v2는 "관계있다로 답한 확인할 변경에만" 표시할 수 있다고 정합니다.
+  // 표시 풀기는 답 내용과 상관없이 받아요
+  if (!input.reflected) return { ok: true };
+  if (!answer.affected) {
+      'not_affected',
+      '관계없다로 답한 확인할 변경이라 작업 반영을 표시하지 않아요. 관계있다로 답한 변경에만 표시할 수 있어요.',

결정 사항은 그대로 두었어요. 바뀐 게 맞으면 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