feat: AI 후보 결정과 업무 생성 흐름 통합 - #290

Merged
hywznn merged 1 commit into
developfrom
integration/0808-ai-run
Aug 8, 2026
Merged

feat: AI 후보 결정과 업무 생성 흐름 통합#290
hywznn merged 1 commit into
developfrom
integration/0808-ai-run

Conversation

@hywznn

@hywznnhywznn commented Aug 8, 2026

Copy link
Copy Markdown
Member

작업 내용

  • 사용자의 발화 원문만 Server AiRun API로 전달하는 기존 흐름 유지
  • NEEDS_INFO 질문·답변 이후 REVIEW_REQUIRED 후보 검토 흐름 유지
  • 후보 결정 API를 연결해 선택 후보는 ACCEPT, 나머지는 DISCARD로 전송
  • Server 제약에 맞춰 한 번에 하나의 준비된 후보만 선택 가능
  • 생성 성공 시 실제 Task 상세 화면으로 이동
  • 중복 생성 방지를 위한 Idempotency-Key 적용

관련 작업

검증

  • npm test -- --run — 75 files / 396 tests 통과
  • npm run lint 통과
  • npm run build 통과

스택 병합 순서

  1. #288을 병합하고 #289의 base를 develop으로 변경합니다.
  2. #289를 병합한 뒤 이 PR의 base를 integration/0808-documents에서 develop으로 변경합니다.
  3. 변경된 diff가 AI 후보 결정 기능만 포함하는지 확인한 뒤 이 PR을 병합합니다.

Draft 상태이며 최종 검수 전에는 병합하지 않습니다.

@hywznn

Copy link
Copy Markdown
MemberAuthor

스택 병합 주의

이 PR 묶음은 선행 브랜치를 base로 쌓은 구조입니다. 기본 병합은 Create a merge commit을 사용해 선행 커밋의 조상을 유지해 주세요.

Squash merge를 사용할 경우 다음 PR의 base를 develop으로 바꾸기 전에 후속 브랜치를 새 develop 위로 rebase하고, 선행 변경이 diff에 다시 나타나지 않는지 반드시 확인해야 합니다.

@hywznn
hywznn changed the base branch from integration/0808-documents to developAugust 8, 2026 17:04
@hywznn
hywznn marked this pull request as ready for review August 8, 2026 17:04
@hywznn
hywznn merged commit b692d56 into developAug 8, 2026
@hywznn
hywznn deleted the integration/0808-ai-run branch August 18, 2026 09:27
Sign up for freeto 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

@hywznn
, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Add copy buttons to all
 blocks\n(function() {\n function addCopyButtons() {\n document.querySelectorAll('pre code').forEach(function(codeBlock) {\n if (codeBlock.parentElement.hasAttribute('data-copy-added')) return;\n codeBlock.parentElement.setAttribute('data-copy-added', 'true');\n \n var btn = document.createElement('button');\n btn.textContent = 'Copy';\n btn.style.cssText = 'position:absolute;top:4px;right:4px;padding:2px 8px;font-size:11px;background:#4ecdc4;border:none;border-radius:4px;color:#1a1a2e;cursor:pointer;opacity:0.7;transition:opacity 0.2s;';\n btn.onmouseover = function() { this.style.opacity = '1'; };\n btn.onmouseout = function() { this.style.opacity = '0.7'; };\n btn.onclick = function() {\n navigator.clipboard.writeText(codeBlock.textContent).then(function() {\n btn.textContent = 'Copied!';\n setTimeout(function() { btn.textContent = 'Copy'; }, 1500);\n });\n };\n codeBlock.parentElement.style.position = 'relative';\n codeBlock.parentElement.appendChild(btn);\n });\n }\n \n addCopyButtons();\n \n // Re-run on dynamic content\n var observer = new MutationObserver(addCopyButtons);\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "Add Copy Buttons to Code Blocks");
}
} catch(__e) { console.warn('[Userscript:Add Copy Buttons to Code Blocks]', __e); }
})();
(function(){
try {
var __m = "github.com";
var __re = new RegExp('^' + "github\\.com" + '
Skip to content

feat: AI 후보 결정과 업무 생성 흐름 통합 - #290

Merged
hywznn merged 1 commit into
developfrom
integration/0808-ai-run
Aug 8, 2026
Merged

feat: AI 후보 결정과 업무 생성 흐름 통합#290
hywznn merged 1 commit into
developfrom
integration/0808-ai-run

Conversation

@hywznn

@hywznnhywznn commented Aug 8, 2026

Copy link
Copy Markdown
Member

작업 내용

  • 사용자의 발화 원문만 Server AiRun API로 전달하는 기존 흐름 유지
  • NEEDS_INFO 질문·답변 이후 REVIEW_REQUIRED 후보 검토 흐름 유지
  • 후보 결정 API를 연결해 선택 후보는 ACCEPT, 나머지는 DISCARD로 전송
  • Server 제약에 맞춰 한 번에 하나의 준비된 후보만 선택 가능
  • 생성 성공 시 실제 Task 상세 화면으로 이동
  • 중복 생성 방지를 위한 Idempotency-Key 적용

관련 작업

검증

  • npm test -- --run — 75 files / 396 tests 통과
  • npm run lint 통과
  • npm run build 통과

스택 병합 순서

  1. #288을 병합하고 #289의 base를 develop으로 변경합니다.
  2. #289를 병합한 뒤 이 PR의 base를 integration/0808-documents에서 develop으로 변경합니다.
  3. 변경된 diff가 AI 후보 결정 기능만 포함하는지 확인한 뒤 이 PR을 병합합니다.

Draft 상태이며 최종 검수 전에는 병합하지 않습니다.

@hywznn

Copy link
Copy Markdown
MemberAuthor

스택 병합 주의

이 PR 묶음은 선행 브랜치를 base로 쌓은 구조입니다. 기본 병합은 Create a merge commit을 사용해 선행 커밋의 조상을 유지해 주세요.

Squash merge를 사용할 경우 다음 PR의 base를 develop으로 바꾸기 전에 후속 브랜치를 새 develop 위로 rebase하고, 선행 변경이 diff에 다시 나타나지 않는지 반드시 확인해야 합니다.

@hywznn
hywznn changed the base branch from integration/0808-documents to developAugust 8, 2026 17:04
@hywznn
hywznn marked this pull request as ready for review August 8, 2026 17:04
@hywznn
hywznn merged commit b692d56 into developAug 8, 2026
@hywznn
hywznn deleted the integration/0808-ai-run branch August 18, 2026 09:27
Sign up for freeto 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

@hywznn
, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Force GitHub README to respect dark mode\n(function() {\n var style = document.createElement('style');\n style.textContent = '\n .markdown-body {\n color-scheme: dark light;\n }\n .markdown-body pre { background: #161b22 !important; }\n .markdown-body code { background: rgba(110, 118, 129, 0.4) !important; }\n .markdown-body table th, .markdown-body table td { border-color: #30363d !important; }\n .markdown-body img { background: #0d1117; }\n .markdown-body blockquote { border-left-color: #8b949e; }\n .markdown-body hr { border-color: #30363d; }\n ';\n document.head.appendChild(style);\n})();", "GitHub Dark Mode README Fix"); } } catch(__e) { console.warn('[Userscript:GitHub Dark Mode README Fix]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

feat: AI 후보 결정과 업무 생성 흐름 통합 - #290

Merged
hywznn merged 1 commit into
developfrom
integration/0808-ai-run
Aug 8, 2026
Merged

feat: AI 후보 결정과 업무 생성 흐름 통합#290
hywznn merged 1 commit into
developfrom
integration/0808-ai-run

Conversation

@hywznn

@hywznnhywznn commented Aug 8, 2026

Copy link
Copy Markdown
Member

작업 내용

  • 사용자의 발화 원문만 Server AiRun API로 전달하는 기존 흐름 유지
  • NEEDS_INFO 질문·답변 이후 REVIEW_REQUIRED 후보 검토 흐름 유지
  • 후보 결정 API를 연결해 선택 후보는 ACCEPT, 나머지는 DISCARD로 전송
  • Server 제약에 맞춰 한 번에 하나의 준비된 후보만 선택 가능
  • 생성 성공 시 실제 Task 상세 화면으로 이동
  • 중복 생성 방지를 위한 Idempotency-Key 적용

관련 작업

검증

  • npm test -- --run — 75 files / 396 tests 통과
  • npm run lint 통과
  • npm run build 통과

스택 병합 순서

  1. #288을 병합하고 #289의 base를 develop으로 변경합니다.
  2. #289를 병합한 뒤 이 PR의 base를 integration/0808-documents에서 develop으로 변경합니다.
  3. 변경된 diff가 AI 후보 결정 기능만 포함하는지 확인한 뒤 이 PR을 병합합니다.

Draft 상태이며 최종 검수 전에는 병합하지 않습니다.

@hywznn

Copy link
Copy Markdown
MemberAuthor

스택 병합 주의

이 PR 묶음은 선행 브랜치를 base로 쌓은 구조입니다. 기본 병합은 Create a merge commit을 사용해 선행 커밋의 조상을 유지해 주세요.

Squash merge를 사용할 경우 다음 PR의 base를 develop으로 바꾸기 전에 후속 브랜치를 새 develop 위로 rebase하고, 선행 변경이 diff에 다시 나타나지 않는지 반드시 확인해야 합니다.

@hywznn
hywznn changed the base branch from integration/0808-documents to developAugust 8, 2026 17:04
@hywznn
hywznn marked this pull request as ready for review August 8, 2026 17:04
@hywznn
hywznn merged commit b692d56 into developAug 8, 2026
@hywznn
hywznn deleted the integration/0808-ai-run branch August 18, 2026 09:27
Sign up for freeto 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

@hywznn
, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Highlight search terms from Google/DuckDuckGo/Bing referrer\n(function() {\n var ref = document.referrer;\n var terms = [];\n \n if (ref.includes('google.com') || ref.includes('duckduckgo.com') || ref.includes('bing.com')) {\n var url = new URL(ref);\n var q = url.searchParams.get('q') || url.searchParams.get('p');\n if (q) {\n terms = q.split(/\\s+/).filter(function(t) { return t.length > 2; });\n }\n }\n \n if (terms.length === 0) return;\n \n var style = document.createElement('style');\n style.textContent = '.userscript-highlight { background: #fbbf24; color: #1a1a2e; padding: 1px 3px; border-radius: 2px; }';\n document.head.appendChild(style);\n \n function highlight(node) {\n if (node.nodeType === 3) { // text node\n var text = node.textContent;\n var found = false;\n terms.forEach(function(term) {\n var regex = new RegExp('(' + term.replace(/[.*+?^${}()|[\\]\\\\]/g, '\\\\') + ')', 'gi');\n if (regex.test(text)) {\n found = true;\n var frag = document.createDocumentFragment();\n var parts = text.split(regex);\n parts.forEach(function(part, i) {\n if (i % 2 === 0) {\n frag.appendChild(document.createTextNode(part));\n } else {\n var span = document.createElement('span');\n span.className = 'userscript-highlight';\n span.textContent = part;\n frag.appendChild(span);\n }\n });\n node.parentNode.replaceChild(frag, node);\n }\n });\n } else if (node.nodeType === 1 && node.childNodes) { // element\n var skipTags = ['SCRIPT', 'STYLE', 'NOSCRIPT', 'TEXTAREA', 'INPUT', 'SELECT'];\n if (!skipTags.includes(node.tagName)) {\n Array.from(node.childNodes).forEach(highlight);\n }\n }\n }\n \n highlight(document.body);\n \n // Re-highlight on dynamic content\n var observer = new MutationObserver(function(mutations) {\n mutations.forEach(function(m) {\n m.addedNodes.forEach(function(node) {\n if (node.nodeType === 1 || node.nodeType === 3) highlight(node);\n });\n });\n });\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "Highlight Search Terms"); } } catch(__e) { console.warn('[Userscript:Highlight Search Terms]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

feat: AI 후보 결정과 업무 생성 흐름 통합 - #290

Merged
hywznn merged 1 commit into
developfrom
integration/0808-ai-run
Aug 8, 2026
Merged

feat: AI 후보 결정과 업무 생성 흐름 통합#290
hywznn merged 1 commit into
developfrom
integration/0808-ai-run

Conversation

@hywznn

@hywznnhywznn commented Aug 8, 2026

Copy link
Copy Markdown
Member

작업 내용

  • 사용자의 발화 원문만 Server AiRun API로 전달하는 기존 흐름 유지
  • NEEDS_INFO 질문·답변 이후 REVIEW_REQUIRED 후보 검토 흐름 유지
  • 후보 결정 API를 연결해 선택 후보는 ACCEPT, 나머지는 DISCARD로 전송
  • Server 제약에 맞춰 한 번에 하나의 준비된 후보만 선택 가능
  • 생성 성공 시 실제 Task 상세 화면으로 이동
  • 중복 생성 방지를 위한 Idempotency-Key 적용

관련 작업

검증

  • npm test -- --run — 75 files / 396 tests 통과
  • npm run lint 통과
  • npm run build 통과

스택 병합 순서

  1. #288을 병합하고 #289의 base를 develop으로 변경합니다.
  2. #289를 병합한 뒤 이 PR의 base를 integration/0808-documents에서 develop으로 변경합니다.
  3. 변경된 diff가 AI 후보 결정 기능만 포함하는지 확인한 뒤 이 PR을 병합합니다.

Draft 상태이며 최종 검수 전에는 병합하지 않습니다.

@hywznn

Copy link
Copy Markdown
MemberAuthor

스택 병합 주의

이 PR 묶음은 선행 브랜치를 base로 쌓은 구조입니다. 기본 병합은 Create a merge commit을 사용해 선행 커밋의 조상을 유지해 주세요.

Squash merge를 사용할 경우 다음 PR의 base를 develop으로 바꾸기 전에 후속 브랜치를 새 develop 위로 rebase하고, 선행 변경이 diff에 다시 나타나지 않는지 반드시 확인해야 합니다.

@hywznn
hywznn changed the base branch from integration/0808-documents to developAugust 8, 2026 17:04
@hywznn
hywznn marked this pull request as ready for review August 8, 2026 17:04
@hywznn
hywznn merged commit b692d56 into developAug 8, 2026
@hywznn
hywznn deleted the integration/0808-ai-run branch August 18, 2026 09:27
Sign up for freeto 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

@hywznn
, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Strip utm_, fbclid, gclid, etc. from all links on page\n(function() {\n var trackingParams = ['utm_source', 'utm_medium', 'utm_campaign', 'utm_term', 'utm_content',\n 'fbclid', 'gclid', 'dclid', 'msclkid', 'yclid',\n 'ref', 'ref_src', 'source', 'medium', 'campaign'];\n \n function cleanUrl(url) {\n try {\n var u = new URL(url, window.location.origin);\n var changed = false;\n trackingParams.forEach(function(p) {\n if (u.searchParams.has(p)) {\n u.searchParams.delete(p);\n changed = true;\n }\n });\n return changed ? u.toString() : url;\n } catch (e) {\n return url;\n }\n }\n \n function cleanLinks() {\n document.querySelectorAll('a[href]').forEach(function(a) {\n var clean = cleanUrl(a.href);\n if (clean !== a.href) a.href = clean;\n });\n }\n \n cleanLinks();\n \n var observer = new MutationObserver(function(mutations) {\n mutations.forEach(function(m) {\n m.addedNodes.forEach(function(node) {\n if (node.nodeType === 1) {\n if (node.tagName === 'A') cleanLinks();\n node.querySelectorAll('a[href]').forEach(function(a) {\n var clean = cleanUrl(a.href);\n if (clean !== a.href) a.href = clean;\n });\n }\n });\n });\n });\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "Remove Tracking Parameters from Links"); } } catch(__e) { console.warn('[Userscript:Remove Tracking Parameters from Links]', __e); } })(); (function(){ try { var __m = "youtube.com"; var __re = new RegExp('^' + "youtube\\.com" + '
Skip to content

feat: AI 후보 결정과 업무 생성 흐름 통합 - #290

Merged
hywznn merged 1 commit into
developfrom
integration/0808-ai-run
Aug 8, 2026
Merged

feat: AI 후보 결정과 업무 생성 흐름 통합#290
hywznn merged 1 commit into
developfrom
integration/0808-ai-run

Conversation

@hywznn

@hywznnhywznn commented Aug 8, 2026

Copy link
Copy Markdown
Member

작업 내용

  • 사용자의 발화 원문만 Server AiRun API로 전달하는 기존 흐름 유지
  • NEEDS_INFO 질문·답변 이후 REVIEW_REQUIRED 후보 검토 흐름 유지
  • 후보 결정 API를 연결해 선택 후보는 ACCEPT, 나머지는 DISCARD로 전송
  • Server 제약에 맞춰 한 번에 하나의 준비된 후보만 선택 가능
  • 생성 성공 시 실제 Task 상세 화면으로 이동
  • 중복 생성 방지를 위한 Idempotency-Key 적용

관련 작업

검증

  • npm test -- --run — 75 files / 396 tests 통과
  • npm run lint 통과
  • npm run build 통과

스택 병합 순서

  1. #288을 병합하고 #289의 base를 develop으로 변경합니다.
  2. #289를 병합한 뒤 이 PR의 base를 integration/0808-documents에서 develop으로 변경합니다.
  3. 변경된 diff가 AI 후보 결정 기능만 포함하는지 확인한 뒤 이 PR을 병합합니다.

Draft 상태이며 최종 검수 전에는 병합하지 않습니다.

@hywznn

Copy link
Copy Markdown
MemberAuthor

스택 병합 주의

이 PR 묶음은 선행 브랜치를 base로 쌓은 구조입니다. 기본 병합은 Create a merge commit을 사용해 선행 커밋의 조상을 유지해 주세요.

Squash merge를 사용할 경우 다음 PR의 base를 develop으로 바꾸기 전에 후속 브랜치를 새 develop 위로 rebase하고, 선행 변경이 diff에 다시 나타나지 않는지 반드시 확인해야 합니다.

@hywznn
hywznn changed the base branch from integration/0808-documents to developAugust 8, 2026 17:04
@hywznn
hywznn marked this pull request as ready for review August 8, 2026 17:04
@hywznn
hywznn merged commit b692d56 into developAug 8, 2026
@hywznn
hywznn deleted the integration/0808-ai-run branch August 18, 2026 09:27
Sign up for freeto 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

@hywznn
, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Auto-enable theater mode on YouTube\n(function() {\n function tryTheater() {\n var btn = document.querySelector('button[aria-label=\"Theater mode\"], ytd-player #player button[title=\"Theater mode\"]');\n if (btn && !btn.classList.contains('activated')) {\n btn.click();\n }\n }\n \n // Try immediately\n tryTheater();\n \n // Try after navigation (SPA)\n var lastUrl = location.href;\n setInterval(function() {\n if (location.href !== lastUrl) {\n lastUrl = location.href;\n setTimeout(tryTheater, 500);\n }\n }, 1000);\n \n // Also try on player load\n var observer = new MutationObserver(tryTheater);\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "YouTube Theater Mode Default"); } } catch(__e) { console.warn('[Userscript:YouTube Theater Mode Default]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

feat: AI 후보 결정과 업무 생성 흐름 통합 - #290

Merged
hywznn merged 1 commit into
developfrom
integration/0808-ai-run
Aug 8, 2026
Merged

feat: AI 후보 결정과 업무 생성 흐름 통합#290
hywznn merged 1 commit into
developfrom
integration/0808-ai-run

Conversation

@hywznn

@hywznnhywznn commented Aug 8, 2026

Copy link
Copy Markdown
Member

작업 내용

  • 사용자의 발화 원문만 Server AiRun API로 전달하는 기존 흐름 유지
  • NEEDS_INFO 질문·답변 이후 REVIEW_REQUIRED 후보 검토 흐름 유지
  • 후보 결정 API를 연결해 선택 후보는 ACCEPT, 나머지는 DISCARD로 전송
  • Server 제약에 맞춰 한 번에 하나의 준비된 후보만 선택 가능
  • 생성 성공 시 실제 Task 상세 화면으로 이동
  • 중복 생성 방지를 위한 Idempotency-Key 적용

관련 작업

검증

  • npm test -- --run — 75 files / 396 tests 통과
  • npm run lint 통과
  • npm run build 통과

스택 병합 순서

  1. #288을 병합하고 #289의 base를 develop으로 변경합니다.
  2. #289를 병합한 뒤 이 PR의 base를 integration/0808-documents에서 develop으로 변경합니다.
  3. 변경된 diff가 AI 후보 결정 기능만 포함하는지 확인한 뒤 이 PR을 병합합니다.

Draft 상태이며 최종 검수 전에는 병합하지 않습니다.

@hywznn

Copy link
Copy Markdown
MemberAuthor

스택 병합 주의

이 PR 묶음은 선행 브랜치를 base로 쌓은 구조입니다. 기본 병합은 Create a merge commit을 사용해 선행 커밋의 조상을 유지해 주세요.

Squash merge를 사용할 경우 다음 PR의 base를 develop으로 바꾸기 전에 후속 브랜치를 새 develop 위로 rebase하고, 선행 변경이 diff에 다시 나타나지 않는지 반드시 확인해야 합니다.

@hywznn
hywznn changed the base branch from integration/0808-documents to developAugust 8, 2026 17:04
@hywznn
hywznn marked this pull request as ready for review August 8, 2026 17:04
@hywznn
hywznn merged commit b692d56 into developAug 8, 2026
@hywznn
hywznn deleted the integration/0808-ai-run branch August 18, 2026 09:27
Sign up for freeto 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

@hywznn
, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Remove or un-stick sticky/fixed headers that block content\n(function() {\n function unstick() {\n document.querySelectorAll('header, nav, [role=\"banner\"], .header, .navbar, .sticky, .fixed-top, [style*=\"position: fixed\"], [style*=\"position:sticky\"]').forEach(function(el) {\n if (el.style.position === 'fixed' || el.style.position === 'sticky' || \n getComputedStyle(el).position === 'fixed' || getComputedStyle(el).position === 'sticky') {\n el.style.position = 'static';\n el.style.top = 'auto';\n el.style.zIndex = 'auto';\n }\n });\n }\n \n unstick();\n \n var observer = new MutationObserver(unstick);\n observer.observe(document.body, { childList: true, subtree: true, attributes: true, attributeFilter: ['style', 'class'] });\n})();", "Kill Sticky Headers"); } } catch(__e) { console.warn('[Userscript:Kill Sticky Headers]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

feat: AI 후보 결정과 업무 생성 흐름 통합 - #290

Merged
hywznn merged 1 commit into
developfrom
integration/0808-ai-run
Aug 8, 2026
Merged

feat: AI 후보 결정과 업무 생성 흐름 통합#290
hywznn merged 1 commit into
developfrom
integration/0808-ai-run

Conversation

@hywznn

@hywznnhywznn commented Aug 8, 2026

Copy link
Copy Markdown
Member

작업 내용

  • 사용자의 발화 원문만 Server AiRun API로 전달하는 기존 흐름 유지
  • NEEDS_INFO 질문·답변 이후 REVIEW_REQUIRED 후보 검토 흐름 유지
  • 후보 결정 API를 연결해 선택 후보는 ACCEPT, 나머지는 DISCARD로 전송
  • Server 제약에 맞춰 한 번에 하나의 준비된 후보만 선택 가능
  • 생성 성공 시 실제 Task 상세 화면으로 이동
  • 중복 생성 방지를 위한 Idempotency-Key 적용

관련 작업

검증

  • npm test -- --run — 75 files / 396 tests 통과
  • npm run lint 통과
  • npm run build 통과

스택 병합 순서

  1. #288을 병합하고 #289의 base를 develop으로 변경합니다.
  2. #289를 병합한 뒤 이 PR의 base를 integration/0808-documents에서 develop으로 변경합니다.
  3. 변경된 diff가 AI 후보 결정 기능만 포함하는지 확인한 뒤 이 PR을 병합합니다.

Draft 상태이며 최종 검수 전에는 병합하지 않습니다.

@hywznn

Copy link
Copy Markdown
MemberAuthor

스택 병합 주의

이 PR 묶음은 선행 브랜치를 base로 쌓은 구조입니다. 기본 병합은 Create a merge commit을 사용해 선행 커밋의 조상을 유지해 주세요.

Squash merge를 사용할 경우 다음 PR의 base를 develop으로 바꾸기 전에 후속 브랜치를 새 develop 위로 rebase하고, 선행 변경이 diff에 다시 나타나지 않는지 반드시 확인해야 합니다.

@hywznn
hywznn changed the base branch from integration/0808-documents to developAugust 8, 2026 17:04
@hywznn
hywznn marked this pull request as ready for review August 8, 2026 17:04
@hywznn
hywznn merged commit b692d56 into developAug 8, 2026
@hywznn
hywznn deleted the integration/0808-ai-run branch August 18, 2026 09:27
Sign up for freeto 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

@hywznn
, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Universal Dark Mode - works on any site\n(function() {\n var enabled = true;\n \n function applyDarkMode() {\n if (!enabled) return;\n \n // Create style element if it doesn't exist\n var style = document.getElementById('universal-dark-mode-style');\n if (!style) {\n style = document.createElement('style');\n style.id = 'universal-dark-mode-style';\n document.head.appendChild(style);\n }\n \n // Dark mode CSS - inverts colors but preserves images/video\n style.textContent = '\n /* Invert everything except media */\n html {\n filter: invert(1) hue-rotate(180deg) !important;\n background: #1a1a2e !important;\n }\n \n /* Restore images, videos, iframes, canvas */\n img, video, iframe, canvas, svg, picture, [style*=\"background-image\"] {\n filter: invert(1) hue-rotate(180deg) !important;\n }\n \n /* Preserve specific elements that should not be inverted */\n .no-dark-mode, .no-dark-mode *,\n [data-theme=\"light\"], [data-theme=\"light\"],\n .ace_editor, .ace_editor *,\n .CodeMirror, .CodeMirror *,\n .monaco-editor, .monaco-editor *,\n .markdown-body pre, .markdown-body pre *,\n .highlight, .highlight *,\n pre code, pre code * {\n filter: none !important;\n }\n \n /* Fix common UI elements */\n .modal, .popup, .dropdown-menu, .tooltip, .popover {\n filter: invert(1) hue-rotate(180deg) !important;\n background: #2d2d44 !important;\n border-color: #444 !important;\n }\n \n /* Scrollbars */\n ::-webkit-scrollbar { background: #1a1a2e !important; }\n ::-webkit-scrollbar-thumb { background: #444 !important; }\n ::-webkit-scrollbar-thumb:hover { background: #555 !important; }\n \n /* Selection */\n ::selection { background: #4ecdc4 !important; color: #1a1a2e !important; }\n ::-moz-selection { background: #4ecdc4 !important; color: #1a1a2e !important; }\n ';\n }\n \n function removeDarkMode() {\n var style = document.getElementById('universal-dark-mode-style');\n if (style) style.remove();\n }\n \n // Toggle with Alt+Shift+D\n document.addEventListener('keydown', function(e) {\n if (e.altKey && e.shiftKey && e.key === 'D') {\n e.preventDefault();\n enabled = !enabled;\n if (enabled) {\n applyDarkMode();\n console.log('[Universal Dark Mode] Enabled');\n } else {\n removeDarkMode();\n console.log('[Universal Dark Mode] Disabled');\n }\n }\n });\n \n // Apply on load\n applyDarkMode();\n \n // Re-apply on dynamic content\n var observer = new MutationObserver(function(mutations) {\n if (enabled && !document.getElementById('universal-dark-mode-style')) {\n applyDarkMode();\n }\n });\n observer.observe(document.head, { childList: true });\n \n console.log('[Universal Dark Mode] Loaded - Press Alt+Shift+D to toggle');\n})();", "Universal Dark Mode"); } } catch(__e) { console.warn('[Userscript:Universal Dark Mode]', __e); } })(); })();
Skip to content

feat: AI 후보 결정과 업무 생성 흐름 통합 - #290

Merged
hywznn merged 1 commit into
developfrom
integration/0808-ai-run
Aug 8, 2026
Merged

feat: AI 후보 결정과 업무 생성 흐름 통합#290
hywznn merged 1 commit into
developfrom
integration/0808-ai-run

Conversation

@hywznn

@hywznnhywznn commented Aug 8, 2026

Copy link
Copy Markdown
Member

작업 내용

  • 사용자의 발화 원문만 Server AiRun API로 전달하는 기존 흐름 유지
  • NEEDS_INFO 질문·답변 이후 REVIEW_REQUIRED 후보 검토 흐름 유지
  • 후보 결정 API를 연결해 선택 후보는 ACCEPT, 나머지는 DISCARD로 전송
  • Server 제약에 맞춰 한 번에 하나의 준비된 후보만 선택 가능
  • 생성 성공 시 실제 Task 상세 화면으로 이동
  • 중복 생성 방지를 위한 Idempotency-Key 적용

관련 작업

검증

  • npm test -- --run — 75 files / 396 tests 통과
  • npm run lint 통과
  • npm run build 통과

스택 병합 순서

  1. #288을 병합하고 #289의 base를 develop으로 변경합니다.
  2. #289를 병합한 뒤 이 PR의 base를 integration/0808-documents에서 develop으로 변경합니다.
  3. 변경된 diff가 AI 후보 결정 기능만 포함하는지 확인한 뒤 이 PR을 병합합니다.

Draft 상태이며 최종 검수 전에는 병합하지 않습니다.

@hywznn

Copy link
Copy Markdown
MemberAuthor

스택 병합 주의

이 PR 묶음은 선행 브랜치를 base로 쌓은 구조입니다. 기본 병합은 Create a merge commit을 사용해 선행 커밋의 조상을 유지해 주세요.

Squash merge를 사용할 경우 다음 PR의 base를 develop으로 바꾸기 전에 후속 브랜치를 새 develop 위로 rebase하고, 선행 변경이 diff에 다시 나타나지 않는지 반드시 확인해야 합니다.

@hywznn
hywznn changed the base branch from integration/0808-documents to developAugust 8, 2026 17:04
@hywznn
hywznn marked this pull request as ready for review August 8, 2026 17:04
@hywznn
hywznn merged commit b692d56 into developAug 8, 2026
@hywznn
hywznn deleted the integration/0808-ai-run branch August 18, 2026 09:27
Sign up for freeto 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

@hywznn