v2.2.259: /meet 회의록 방향성 개선 (개조식 + 이슈→결정 순서)

회의록 생성 프롬프트(meetPrompt.ts OUTPUT_FORMAT) 개선 — 외부 모범사례 근거:
- 문체: 서술형 일기체 → 개조식·명사형 종결('~논의/합의/완료/필요')
- 구조: '주요 논의/쟁점'을 '결정 사항' 앞으로(이슈→결정 흐름)
- 참석자 명단의 "(참석자 N)" 화자번호 누수 차단; 최종 점검/검증 항목 보강
- package.json 2.2.258 → 2.2.259

(그 외 .astra/tests 런타임 캐시·미션 상태 변경 동반)

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
2026-06-23 19:25:29 +09:00
parent 7f2ecc5015
commit 4288b212d5
10 changed files with 48 additions and 34 deletions
@@ -1,5 +1,5 @@
{ {
"result": "직답 결과 — single-pass mock 응답입니다.", "result": "직답 결과 — single-pass mock 응답입니다.",
"createdAt": 1782118373725, "createdAt": 1782194189488,
"modelVersion": "unknown" "modelVersion": "unknown"
} }
@@ -1,5 +1,5 @@
{ {
"result": "---\nid: wiki_on\ndate: 2026-06-22T08:52:53.744Z\ntype: knowledge_artifact\nstandard: P-Reinforce v3.0\ntags: [automated, connect_ai, brain_sync]\n---\n\n## 📌 Brief Summary\n직답 결과 — single-pass mock 응답입니다.\n\n직답 결과 — single-pass mock 응답입니다.\n---\n## 🛡️ Reliability & Audit Summary\n> [!NOTE]\n> 이 문서는 ConnectAI의 **Intelligent Resilience** 엔진에 의해 검증 및 정제되었습니다.\n\n| Metric | Value | Status |\n| :--- | :--- | :--- |\n| **Conflict Risk** | `0/100` | ✅ Low |\n| **Fallbacks Used** | `0` | ✅ None |\n| **Auto Retries** | `0` | ✅ Stable |\n| **Deduplication** | `0` | Standard |\n| **Processing Time** | `0.0s` | ✅ Fast |\n\n### 🔍 Decision Audit Trail\n- **[DIRECT]** 답변 작성 중... (단일 호출 fast-path) (21ms)\n", "result": "---\nid: wiki_on\ndate: 2026-06-23T05:56:29.490Z\ntype: knowledge_artifact\nstandard: P-Reinforce v3.0\ntags: [automated, connect_ai, brain_sync]\n---\n\n## 📌 Brief Summary\n직답 결과 — single-pass mock 응답입니다.\n\n직답 결과 — single-pass mock 응답입니다.\n---\n## 🛡️ Reliability & Audit Summary\n> [!NOTE]\n> 이 문서는 ConnectAI의 **Intelligent Resilience** 엔진에 의해 검증 및 정제되었습니다.\n\n| Metric | Value | Status |\n| :--- | :--- | :--- |\n| **Conflict Risk** | `0/100` | ✅ Low |\n| **Fallbacks Used** | `0` | ✅ None |\n| **Auto Retries** | `0` | ✅ Stable |\n| **Deduplication** | `0` | Standard |\n| **Processing Time** | `0.0s` | ✅ Fast |\n\n### 🔍 Decision Audit Trail\n- **[DIRECT]** 답변 작성 중... (단일 호출 fast-path) (21ms)\n",
"createdAt": 1782118373745, "createdAt": 1782194189490,
"modelVersion": "unknown" "modelVersion": "unknown"
} }
@@ -1,8 +1,8 @@
{ {
"missionId": "wiki_on", "missionId": "wiki_on",
"status": "completed", "status": "completed",
"startTime": "2026-06-22T08:52:53.702Z", "startTime": "2026-06-23T05:56:29.465Z",
"totalElapsedMs": 44, "totalElapsedMs": 26,
"results": { "results": {
"direct": "직답 결과 — single-pass mock 응답입니다." "direct": "직답 결과 — single-pass mock 응답입니다."
}, },
@@ -14,14 +14,14 @@
"to": "direct", "to": "direct",
"durationMs": 21, "durationMs": 21,
"message": "답변 작성 중... (단일 호출 fast-path)", "message": "답변 작성 중... (단일 호출 fast-path)",
"ts": "2026-06-22T08:52:53.723Z" "ts": "2026-06-23T05:56:29.486Z"
}, },
{ {
"from": "direct", "from": "direct",
"to": "completed", "to": "completed",
"durationMs": 23, "durationMs": 5,
"message": "미션 완료", "message": "미션 완료",
"ts": "2026-06-22T08:52:53.746Z" "ts": "2026-06-23T05:56:29.491Z"
} }
], ],
"resilienceMetrics": { "resilienceMetrics": {
@@ -1,5 +1,5 @@
{ {
"result": "Final report with inconsistencies. This should be long enough to pass validation.", "result": "Final report with inconsistencies. This should be long enough to pass validation.",
"createdAt": 1782118381684, "createdAt": 1782194196169,
"modelVersion": "unknown" "modelVersion": "unknown"
} }
@@ -1,5 +1,5 @@
{ {
"result": "Final report with inconsistencies. This should be long enough to pass validation.", "result": "Final report with inconsistencies. This should be long enough to pass validation.",
"createdAt": 1782118381683, "createdAt": 1782194196168,
"modelVersion": "unknown" "modelVersion": "unknown"
} }
@@ -1,5 +1,5 @@
{ {
"result": "[{\"heading\":\"본문\",\"scope\":\"전체 답변\"}]", "result": "[{\"heading\":\"본문\",\"scope\":\"전체 답변\"}]",
"createdAt": 1782118381679, "createdAt": 1782194196165,
"modelVersion": "unknown" "modelVersion": "unknown"
} }
@@ -1,5 +1,5 @@
{ {
"result": "[CONFLICT WARNING] 성능이 200% 증가했습니다. vs 그러나 동시에 50% 감소했습니다. 최적화와 성능 저하가 동시에 발견됨.", "result": "[CONFLICT WARNING] 성능이 200% 증가했습니다. vs 그러나 동시에 50% 감소했습니다. 최적화와 성능 저하가 동시에 발견됨.",
"createdAt": 1782118381681, "createdAt": 1782194196166,
"modelVersion": "unknown" "modelVersion": "unknown"
} }
@@ -1,8 +1,8 @@
{ {
"missionId": "stress_conflict_1782118381660", "missionId": "stress_conflict_1782194196149",
"status": "completed", "status": "completed",
"startTime": "2026-06-22T08:53:01.660Z", "startTime": "2026-06-23T05:56:36.149Z",
"totalElapsedMs": 25, "totalElapsedMs": 21,
"results": { "results": {
"outline": "[{\"heading\":\"본문\",\"scope\":\"전체 답변\"}]", "outline": "[{\"heading\":\"본문\",\"scope\":\"전체 답변\"}]",
"section_0": "[CONFLICT WARNING] 성능이 200% 증가했습니다. vs 그러나 동시에 50% 감소했습니다. 최적화와 성능 저하가 동시에 발견됨.", "section_0": "[CONFLICT WARNING] 성능이 200% 증가했습니다. vs 그러나 동시에 50% 감소했습니다. 최적화와 성능 저하가 동시에 발견됨.",
@@ -14,30 +14,30 @@
{ {
"from": "idle", "from": "idle",
"to": "outline", "to": "outline",
"durationMs": 18, "durationMs": 14,
"message": "답변 구조 잡는 중...", "message": "답변 구조 잡는 중...",
"ts": "2026-06-22T08:53:01.678Z" "ts": "2026-06-23T05:56:36.163Z"
}, },
{ {
"from": "outline", "from": "outline",
"to": "section", "to": "section",
"durationMs": 2, "durationMs": 3,
"message": "본문 작성 중...", "message": "본문 작성 중...",
"ts": "2026-06-22T08:53:01.680Z" "ts": "2026-06-23T05:56:36.166Z"
}, },
{ {
"from": "section", "from": "section",
"to": "polish", "to": "polish",
"durationMs": 2, "durationMs": 1,
"message": "최종 다듬기 중...", "message": "최종 다듬기 중...",
"ts": "2026-06-22T08:53:01.682Z" "ts": "2026-06-23T05:56:36.167Z"
}, },
{ {
"from": "polish", "from": "polish",
"to": "completed", "to": "completed",
"durationMs": 3, "durationMs": 3,
"message": "미션 완료", "message": "미션 완료",
"ts": "2026-06-22T08:53:01.685Z" "ts": "2026-06-23T05:56:36.170Z"
} }
], ],
"resilienceMetrics": { "resilienceMetrics": {
+1 -1
View File
@@ -2,7 +2,7 @@
"name": "astra", "name": "astra",
"displayName": "Astra", "displayName": "Astra",
"description": "The personal intelligence layer for Antigravity and VS Code. A private cognitive partner for deep project context, memory, and proactive strategic decision-making.", "description": "The personal intelligence layer for Antigravity and VS Code. A private cognitive partner for deep project context, memory, and proactive strategic decision-making.",
"version": "2.2.258", "version": "2.2.259",
"publisher": "g1nation", "publisher": "g1nation",
"license": "MIT", "license": "MIT",
"icon": "assets/icon.png", "icon": "assets/icon.png",
+25 -11
View File
@@ -2,6 +2,13 @@
* 회의 녹취 텍스트 → 사실 기반 구조화 회의록(Actionable Minutes) LLM 프롬프트. * 회의 녹취 텍스트 → 사실 기반 구조화 회의록(Actionable Minutes) LLM 프롬프트.
* 사용자 정의 규칙: Fact/Discussion/Decision/Risk/Action 분류, 메타데이터 우선. * 사용자 정의 규칙: Fact/Discussion/Decision/Risk/Action 분류, 메타데이터 우선.
* *
* v2.2.259 개선(사용자 피드백 반영 — 회의록 "방향성" 개선, 외부 모범사례 근거):
* - 문체: 서술형 일기체('~논의하였다/완료하였다') → **개조식·명사형 종결**('~논의/합의/완료/필요/예정').
* 한국 공문서·회의록 표준이자 가독성↑. 핵심 요약을 개조식 3~5줄 글머리표로.
* - 구조 순서: '주요 논의/쟁점'을 '결정 사항' **앞**으로(이슈→결정 흐름). 국제(Context→Decision→Action)·
* 국내(안건별 논의→의사결정→액션) 모범사례 일치. 옛 '논의 메모'를 상단 '주요 논의/쟁점'으로 승격·이동.
* - 참석자 명단의 "(참석자 N)" 병기 누수 차단(검증 패스가 잡던 화자번호 잔존).
*
* v2.2.258 개선(사용자 피드백 반영): * v2.2.258 개선(사용자 피드백 반영):
* - 화자: STT 화자번호("참석자 N")를 **팀/역할**로 정규화(개인명은 확실할 때만 병기). * - 화자: STT 화자번호("참석자 N")를 **팀/역할**로 정규화(개인명은 확실할 때만 병기).
* 최종 문서에 "참석자 N" 토큰을 절대 노출하지 않는다. * 최종 문서에 "참석자 N" 토큰을 절대 노출하지 않는다.
@@ -69,7 +76,7 @@ export function buildMeetPrompt(transcript: string, metadata: string): string {
- **빈 칸은 채우지 말 것**: 표에서 값을 모르면 "—"로 둔다. placeholder를 그럴듯한 추측으로 메우지 말 것. 모든 칸이 미정인 항목은 액션이 아니라 오픈 이슈다. - **빈 칸은 채우지 말 것**: 표에서 값을 모르면 "—"로 둔다. placeholder를 그럴듯한 추측으로 메우지 말 것. 모든 칸이 미정인 항목은 액션이 아니라 오픈 이슈다.
# 출력 검증 (Validation — 출력 전 내부 점검, 로그는 출력 금지) # 출력 검증 (Validation — 출력 전 내부 점검, 로그는 출력 금지)
① "참석자 N" 토큰이 0개인가 ② 화자가 팀/역할로 귀속됐고 개인 추측이 없는가 ③ 인접 발언을 임의 연결하지 않았는가 ④ Decision이 실제 합의인가(테스트후결정·검토필요가 섞이지 않았나) ⑤ 즉시 반박된 가설을 이슈로 격상하지 않았는가 ⑥ 같은 사실이 여러 섹션에 중복되지 않았는가 ⑦ 빈 칸을 추측으로 채우지 않았는가 ⑧ 각 항목에 [mm:ss]가 있는가. ① "참석자 N" 토큰이 0개인가(명단의 "(참석자 N)" 병기 포함) ② 화자가 팀/역할로 귀속됐고 개인 추측이 없는가 ③ 인접 발언을 임의 연결하지 않았는가 ④ Decision이 실제 합의인가(테스트후결정·검토필요가 섞이지 않았나) ⑤ 즉시 반박된 가설을 이슈로 격상하지 않았는가 ⑥ 같은 사실이 여러 섹션에 중복되지 않았는가 ⑦ 빈 칸을 추측으로 채우지 않았는가 ⑧ 각 항목에 [mm:ss]가 있는가 ⑨ 모든 문장이 개조식·명사형 종결인가(서술형 '~하였다/합니다' 0개) ⑩ '주요 논의/쟁점'이 '결정 사항' 앞에 있는가.
[메타데이터] [메타데이터]
${metaBlock} ${metaBlock}
@@ -85,6 +92,10 @@ ${OUTPUT_FORMAT}`;
/** 최종 회의록 출력 형식 — 단일샷(buildMeetPrompt)과 병합 단계(buildMeetReducePrompt)가 공유. */ /** 최종 회의록 출력 형식 — 단일샷(buildMeetPrompt)과 병합 단계(buildMeetReducePrompt)가 공유. */
const OUTPUT_FORMAT = `# 작성 원칙 (회의록 품질 — 출력 전 반드시 내재화) const OUTPUT_FORMAT = `# 작성 원칙 (회의록 품질 — 출력 전 반드시 내재화)
회의록은 *대화 요약 문서*가 아니라 **프로젝트 관리 문서**다. "무엇이 결정됐는가 / 누가(어느 팀이) 무엇을 해야 하는가 / 무엇이 아직 미결인가"를 우선한다. 회의록은 *대화 요약 문서*가 아니라 **프로젝트 관리 문서**다. "무엇이 결정됐는가 / 누가(어느 팀이) 무엇을 해야 하는가 / 무엇이 아직 미결인가"를 우선한다.
- **개조식·명사형 종결 (필수 문체)**: 모든 항목을 개조식으로 — 명사형 또는 '~함·됨·필요·예정·합의·완료·확인' 류로 끝맺는다. **서술형 종결어미('~하였다/했다/합니다/입니다/됩니다/할 예정이다/것으로 보인다') 금지** — 회의록은 일기·기사·서간문이 아니다. 한 항목 = 한 줄, 군더더기·접속사("따라서/그리고/하였으며") 최소화.
- 좋은 예: \`- CDN 경로는 위버스 운영툴로 관리 — 합의\` / \`- 보안 솔루션 2개사 PoC·비용 검토 완료, 최종 도입안 미정\`
- 나쁜 예: \`- CDN 경로 정보를 위버스 운영툴을 통해 관리하는 방식으로 합의하였습니다.\` / \`- …검토를 완료하였으며, 향후 …결정할 예정이다.\`
- **이슈 → 결정 흐름 (구조 순서)**: 독자가 "무슨 쟁점이 있었고 → 어떤 결정이 났는지"를 따라가도록, '주요 논의 / 쟁점'을 '결정 사항' **앞**에 둔다. **쟁점(질문·대립·선택지)은 '주요 논의'에, 결론(답)은 '결정 사항'에** 나눠 적되 — 같은 *결론*을 양쪽에 반복하지 말 것(쟁점 ≠ 결론, 중복 아님).
- **한 사실은 한 섹션에만**: 같은 항목을 요약·결정·액션에 중복 기재하지 말 것. 핵심 요약은 미리보기가 아니라 다이제스트다. - **한 사실은 한 섹션에만**: 같은 항목을 요약·결정·액션에 중복 기재하지 말 것. 핵심 요약은 미리보기가 아니라 다이제스트다.
- **결정 ↔ 액션 경계**: 담당+행동이 있는 *일감*은 '액션 아이템' 표로 보낸다. '결정 사항'에는 **담당자 없는 순수 방향/정책 결정만** 남긴다(예: "제품 리스트 클릭 이벤트 제거하기로 함"). "구현하기로 함"처럼 누가 할 일이면 액션이다. - **결정 ↔ 액션 경계**: 담당+행동이 있는 *일감*은 '액션 아이템' 표로 보낸다. '결정 사항'에는 **담당자 없는 순수 방향/정책 결정만** 남긴다(예: "제품 리스트 클릭 이벤트 제거하기로 함"). "구현하기로 함"처럼 누가 할 일이면 액션이다.
- **결정 ≠ 검토요청**: "테스트해보고 결정 / 다시 보고 얘기 / 고민해보자"는 결정이 아니다 → 오픈 이슈. 명시적 합의만 결정. - **결정 ≠ 검토요청**: "테스트해보고 결정 / 다시 보고 얘기 / 고민해보자"는 결정이 아니다 → 오픈 이슈. 명시적 합의만 결정.
@@ -104,14 +115,22 @@ const OUTPUT_FORMAT = `# 작성 원칙 (회의록 품질 — 출력 전 반드
- **회의유형**: [데모 리뷰 / 기획 논의 등] - **회의유형**: [데모 리뷰 / 기획 논의 등]
- **녹취 길이**: [헤더에 있으면 | 없으면 생략] - **녹취 길이**: [헤더에 있으면 | 없으면 생략]
- **작성일**: [메타데이터의 작성일 | 생략] - **작성일**: [메타데이터의 작성일 | 생략]
- **참석자**: 역할(팀)별로 — 개인명은 명단+문맥 확실 시만 병기. "참석자 N" 절대 금지. - **참석자**: **참여한 팀/역할만 중복 없이 나열**(예: 넥서스개발팀, 개발PM, 기획, 위버스). 개인명은 명단+문맥 확실 시만 병기. **괄호로라도 "(참석자 N)"을 덧붙이지 말 것** — 화자번호↔역할 매핑은 본문에서만 쓰고 명단엔 노출 금지.
## 핵심 요약 ## 핵심 요약
한 문단(3~5줄)으로 **무엇을 리뷰/논의했고 / 무엇이 정해졌고 / 다음 단계가 무엇인지**를 압축한다. 회의 전체를 관통하는 **핵심 요구·결론**(특히 후반부 정리분)을 여기 맨 앞에 세운다. 디테일 나열·항목 중복 금지. **참석하지 않은 사람이 이 문단만 읽어도 결과를 파악**할 수 있어야 한다. 회의 전체를 관통하는 **핵심 요구·결론**(특히 후반부 정리분)을 맨 앞에 세우고, **개조식 3~5줄**(명사형 종결, 글머리표)로 압축한다 — 무엇을 리뷰/논의했고 / 무엇이 정해졌고 / 다음 단계가 무엇인지. **참석하지 않은 사람이 이 부분만 읽어도 결과를 파악**할 수 있어야 한다. 디테일 나열·항목 중복·서술형 종결('~하였다') 금지.
- 예) 위버스 협업 영상 보안(DRM·OTP) 강화 + 운영툴·인프라 구조 논의
- 예) 인코딩·업로드는 자체 수행, CDN 경로는 위버스 운영툴로 관리 — 합의
- 예) 보안 솔루션 2개사(라인컴퍼니·스틸리언) PoC·비용 검토 완료, 최종 도입안·일정 미정
## 주요 논의 / 쟁점
**결정에 앞서**, 회의에서 다뤄진 안건·쟁점을 **주제별**로 먼저 제시한다(독자가 "무슨 이슈가 있었고 → 어떤 결정이 났는지" 흐름을 따라가게). 발언 나열이 아니라 **쟁점·대립·선택지 중심**의 개조식. 결론 자체는 여기 쓰지 말고 '결정 사항'으로 — 여기엔 *질문/논거/미해결*만. 각 논점 끝 [mm:ss].
**[주제명]**
- 핵심 쟁점/논거 한 줄 (명사형 종결) — [mm:ss]
## 결정 사항 ## 결정 사항
**명시적으로 합의·확정된 순수 방향/정책 결정만** 적는다(담당 있는 일감은 액션으로). 각 줄 끝 타임스탬프. 위 쟁점에 대해 **명시적으로 합의·확정된 순수 방향/정책 결정만** 적는다(담당 있는 일감은 액션으로). 개조식·명사형 종결, 각 줄 끝 타임스탬프.
\`- [결정 내용] — [mm:ss]\` \`- [결정 내용 — 명사형 종결] — [mm:ss]\`
(확정된 결정이 없으면 "이번 회의에서 확정된 결정사항 없음"이라고 명시 — 빈칸·생략 금지.) (확정된 결정이 없으면 "이번 회의에서 확정된 결정사항 없음"이라고 명시 — 빈칸·생략 금지.)
## 액션 아이템 ## 액션 아이템
@@ -134,18 +153,13 @@ const OUTPUT_FORMAT = `# 작성 원칙 (회의록 품질 — 출력 전 반드
회의 종료 시점에 **아직 결정되지 않은 미결 사항**을 한곳에 모은다(도입 여부·정의 필요·테스트 후 결정·화자간 충돌 등). 가능하면 *누가/언제 확인*까지. 각 줄 끝 [mm:ss]. 회의 종료 시점에 **아직 결정되지 않은 미결 사항**을 한곳에 모은다(도입 여부·정의 필요·테스트 후 결정·화자간 충돌 등). 가능하면 *누가/언제 확인*까지. 각 줄 끝 [mm:ss].
- 예) 사진 노출 개수 6 vs 8 — 기준 미정, 클라이언트 확인 필요 — [58:25] - 예) 사진 노출 개수 6 vs 8 — 기준 미정, 클라이언트 확인 필요 — [58:25]
## 논의 메모
결정되지 않았으나 오간 논의를 **주제별 글머리표**로 간결하게(발언 나열 금지, 결과·쟁점 중심). 각 논점 끝 [mm:ss].
**[주제명]**
- 핵심 논점 한 줄 — [mm:ss]
## 리스크 (선택) ## 리스크 (선택)
**실제로 리스크와 (가능하면) 완화책이 논의됐을 때만** 이 섹션과 표를 만든다. 회의에서 안 다뤄졌으면 이 섹션을 **통째로 생략**한다(빈 템플릿·"[내용 확인 필요]" 골격만 남기지 말 것). '리스크'는 위험 *요인/원인*, '영향'은 현실화 시의 *결과*다 — 두 열에 같은 문장을 반복하지 말 것. 셀 안에서 줄바꿈·\`|\` 금지. **실제로 리스크와 (가능하면) 완화책이 논의됐을 때만** 이 섹션과 표를 만든다. 회의에서 안 다뤄졌으면 이 섹션을 **통째로 생략**한다(빈 템플릿·"[내용 확인 필요]" 골격만 남기지 말 것). '리스크'는 위험 *요인/원인*, '영향'은 현실화 시의 *결과*다 — 두 열에 같은 문장을 반복하지 말 것. 셀 안에서 줄바꿈·\`|\` 금지.
| 리스크 | 영향 | 대응 방안 | 출처 | | 리스크 | 영향 | 대응 방안 | 출처 |
| --- | --- | --- | --- | | --- | --- | --- | --- |
# 최종 점검 (출력 전 내부 확인 — 체크 로그는 출력하지 말 것) # 최종 점검 (출력 전 내부 확인 — 체크 로그는 출력하지 말 것)
□ "참석자 N" 토큰 0개 □ 화자가 팀/역할로 귀속(개인 추측 없음) □ 결정사항에 순수 방향/정책만(일감은 액션으로) □ "테스트후결정·검토필요"가 결정에 섞이지 않음 □ 즉시 반박된 가설을 이슈로 격상 안 함 □ 화자간 충돌은 단일값 확정 말고 그대로 표기 □ 같은 사실이 여러 섹션에 중복 안 됨 □ 빈 칸은 "—"(추측 채움 없음) □ 통째 미정 항목은 오픈이슈로 □ 액션 상태가 5종 taxonomy 형식 □ 리스크는 실제 논의됐을 때만 표 띄움 □ 모든 결정·액션·논점에 [mm:ss] 모든 문장이 개조식·명사형 종결(서술형 '~하였다/했습니다/할 예정이다' 0개) □ '주요 논의/쟁점'이 '결정 사항'보다 앞에 위치 □ 참석자 명단에 "(참석자 N)" 병기 0개 □ "참석자 N" 토큰 0개 □ 화자가 팀/역할로 귀속(개인 추측 없음) □ 결정사항에 순수 방향/정책만(일감은 액션으로) □ "테스트후결정·검토필요"가 결정에 섞이지 않음 □ 즉시 반박된 가설을 이슈로 격상 안 함 □ 화자간 충돌은 단일값 확정 말고 그대로 표기 □ 같은 사실이 여러 섹션에 중복 안 됨 □ 빈 칸은 "—"(추측 채움 없음) □ 통째 미정 항목은 오픈이슈로 □ 액션 상태가 5종 taxonomy 형식 □ 리스크는 실제 논의됐을 때만 표 띄움 □ 모든 결정·액션·논점에 [mm:ss]
위 형식을 정확히 따르고, 모든 내용은 한국어로 작성하시오.`; 위 형식을 정확히 따르고, 모든 내용은 한국어로 작성하시오.`;