@tienne/gestalt 0.72.5 → 0.72.6
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/package.json +1 -1
- package/dist/plugin/role-agents/_shared/references/ai-tell-quick-rules.md +7 -3
- package/dist/plugin/role-agents/_shared/references/style-guide.md +1 -0
- package/dist/plugin/role-agents/presentation-writer/AGENT.md +1 -1
- package/dist/plugin/role-agents/presentation-writer/references/content-playbook.md +1 -1
- package/dist/plugin/skills/_shared/agent-delegation.md +1 -1
- package/dist/plugin/skills/review/SKILL.md +1 -1
- package/dist/plugin/skills/ship/SKILL.md +1 -1
- package/dist/src/humanize/detectors.d.ts.map +1 -1
- package/dist/src/humanize/detectors.js +18 -3
- package/dist/src/humanize/detectors.js.map +1 -1
- package/dist/src/review/snippet-reader.js +1 -1
- package/dist/src/review/snippet-reader.js.map +1 -1
- package/package.json +1 -1
- package/plugin/.codex-plugin/plugin.json +1 -1
- package/plugin/.mcp.json +1 -1
- package/plugin/mcp.json +1 -1
- package/plugin/role-agents/_shared/references/ai-tell-quick-rules.md +7 -3
- package/plugin/role-agents/_shared/references/style-guide.md +1 -0
- package/plugin/role-agents/presentation-writer/AGENT.md +1 -1
- package/plugin/role-agents/presentation-writer/references/content-playbook.md +1 -1
- package/plugin/skills/_shared/agent-delegation.md +1 -1
- package/plugin/skills/review/SKILL.md +1 -1
- package/plugin/skills/ship/SKILL.md +1 -1
package/dist/package.json
CHANGED
|
@@ -43,6 +43,7 @@
|
|
|
43
43
|
| A-16 | "그/그녀/그것/그들" 단락 ≥3회 영어 대명사 직역 | S1 | 50%+ 영형(생략) 또는 호칭·명사구로 (김도훈 2009) |
|
|
44
44
|
| A-18 | 명사 앞 ≥3어절 관형구·관계절 좌향 수식 | S2 | 문장 분리 또는 후치 동격절("X를 만났는데, 그 X는 …") (박옥수 2018) |
|
|
45
45
|
| A-19 | 이중 조사 "~에서의/~에로의/~으로의/~에의/~으로부터의" | S2 | 절·구로 풀어쓰기. 단순 ~의는 비대상 (김정우 2007) |
|
|
46
|
+
| A-20 | "명시적으로"가 뒤 동사와 뜻이 겹쳐 잉여로 남음 (explicitly 직역 — "명시적으로 선언한다", "명시적으로 지정한다") | S2 | 부사를 뺀다 ("선언한다", "지정한다"). 선언과 지정은 그 자체가 명시하는 행위라 부사에 남는 뜻이 없다. **암묵 경로와 대비하는 자리는 예외다** — "추론에 맡기지 말고 명시적으로 선언하자"처럼 반대편이 같은 문단이나 바로 앞뒤 문장에 있으면 남긴다. **대화·리뷰에서도 S2로 둔다** — 기술 문서는 암묵 경로와 짝지어 쓰는 자리가 많아 A-2처럼 격상하면 정당한 쓰임이 함께 걸린다. 이 경계는 뜻이라 탐지기가 없다 |
|
|
46
47
|
|
|
47
48
|
## B. 영어 인용, 용어 과다
|
|
48
49
|
|
|
@@ -116,14 +117,17 @@
|
|
|
116
117
|
|
|
117
118
|
## F. 과도한 수식, 중복
|
|
118
119
|
|
|
120
|
+
이 절은 축이 둘이다 — F-4~F-6은 명사화이고 F-7~F-10은 비유 오용이다. 새 룰을 넣을 때 어느 축인지 먼저 정한다.
|
|
121
|
+
|
|
119
122
|
| ID | 패턴 | 심각도 | 처방 |
|
|
120
123
|
|---|---|---|---|
|
|
121
124
|
| F-4 | 한자어 명사화 -성/-적/-화 + 영어 명사화 -tion/-ment/-ness/-ity 누적 (한 글 12회+) | S2 / **대화·리뷰 S1** | 동사·형용사 어근으로 환원("the implementation of the policy" → "정책 시행" 또는 "정책을 시행하기") |
|
|
122
125
|
| F-5 | "~적 N" 추상 체인 ("전략적 함의", "실천적 기반") | S2 / **대화·리뷰 S1** | 명사+명사 또는 풀어쓰기("전략 함의", "실천의 기반") |
|
|
123
126
|
| F-6 | 복합명사 압축 — 명사구를 조사·동사 없이 이어붙여 개념을 뭉침 ("시안 정합 버그픽스", "유지보수성 개선 작업", "권한 체크 로직") | S2 / **대화·리뷰 S1** | 동사·조사로 풀어 서술 ("디자인 시안과 다르게 렌더링되던 문제", "나중에 유지보수하기 편하게"). 사람은 압축 명사구 대신 무엇을 왜 했는지 풀어 말한다 |
|
|
124
|
-
| F-7 | 기술·이공계 비유 명사를 일상 대화에 그대로 (증류·배선·결정화·평탄화·오케스트레이션·파이프라인화·축 등, 화학·전기·수학 어휘의 비유 차용) | S2 / **대화·리뷰 S1** | 일상 동사·명사로 환원 (증류 → "추려내다/뽑아내다", 배선 → "연결하다/걸어두다", 결정화 → "정리하다", 평탄화 → "밋밋하게 만들다", **축 → "측면"**·"기준"). 문법은 멀쩡해 룰 매칭이 안 되지만 사람은 대화에서 안 쓴다. "네 축을 잰다"가 아니라 "4가지 측면에서 측정한다". **예외는 그 프로젝트가 개념에 붙인 이름일 때만이고, 그 개념을 다루는 자리에서만이다** — 게슈탈트의 "스펙 결정화"는 `similarity-crystallizer` 에이전트 이름이자 인터뷰→Spec 변환의 정의라서 두지만, 같은 말을 지라 티켓 작성처럼 무관한 자리에 끌어다 쓰면 F-7이다. 코드의 "파이프라인" 자체, 그래프의 x축도 같은 기준.
|
|
127
|
+
| F-7 | 기술·이공계 비유 명사를 일상 대화에 그대로 (증류·배선·결정화·평탄화·오케스트레이션·파이프라인화·축 등, 화학·전기·수학 어휘의 비유 차용) | S2 / **대화·리뷰 S1** | 일상 동사·명사로 환원 (증류 → "추려내다/뽑아내다", 배선 → "연결하다/걸어두다", 결정화 → "정리하다", 평탄화 → "밋밋하게 만들다", **축 → "측면"**·"기준"). 문법은 멀쩡해 룰 매칭이 안 되지만 사람은 대화에서 안 쓴다. "네 축을 잰다"가 아니라 "4가지 측면에서 측정한다". **예외는 그 프로젝트가 개념에 붙인 이름일 때만이고, 그 개념을 다루는 자리에서만이다** — 게슈탈트의 "스펙 결정화"는 `similarity-crystallizer` 에이전트 이름이자 인터뷰→Spec 변환의 정의라서 두지만, 같은 말을 지라 티켓 작성처럼 무관한 자리에 끌어다 쓰면 F-7이다. 코드의 "파이프라인" 자체, 그래프의 x축도 같은 기준. 테스트를 자물쇠에 빗댄 "잠그다"는 방향이 반대라 F-10이 본다 |
|
|
125
128
|
| F-8 | 추상명사에 물리 측량 동사("근거를 재봤는데", "판단을 재보고 있다", "근거를 재본 결과", "의견을 달아봤는데") | S2 / **대화·리뷰 S1** | 저울에 올린 게 아니라 검토한 것이다. 사람이 하는 행위 동사로 되돌린다("근거를 확인해봤는데", "의견을 검토해봤는데"). F-7 물리 동사 도피의 사촌이라 목적어가 근거, 의견, 판단, 영향, 의미, 가치, 리스크인 자리만 본다 — "온도를 재봤는데"는 대상이 아니다 |
|
|
126
129
|
| F-9 | 결함·코드 상태를 그 자리에서 지어낸 별칭으로 명명 ("맨몸 호출", "벌거벗은 API") | S2 / **대화·리뷰 S1** | 무엇이 빠졌고 무엇이 틀렸는지 그대로 쓴다 ("맨몸 호출" → "접두 객체 없이 함수 이름만 적혀 있다"). 별칭은 검색이 안 되고 처음 읽는 사람이 못 알아보고 답글에서 재생산돼 팀 어휘로 굳는다. **예외는 남이 정의해 둔 이름을 그 뜻 그대로 쓸 때다** — "널 포인터", "데드락", "고아 노드"처럼 명세나 교과서에 뜻이 박힌 말이고 F-6으로도 안 넘긴다. 다른 결함에 비유로 얹으면 예외가 아니고 팀에서 몇 번 쓰였다는 것도 아니다 — 그렇게 열면 답글에 한 번 재생산된 별칭이 곧바로 빠져나간다. **F-7과 방향이 반대다** — F-7은 기술 비유를 일상 말로 되돌리고 F-9는 일상 비유를 기술 대상에 씌운 쪽을 본다. F-9에 걸린 별칭이 스스로 움직이면 D-5, 조사 없이 뭉치면 F-6도 함께 걸린다. 이 경계는 뜻이라 탐지기가 없다 |
|
|
130
|
+
| F-10 | 일상 관용구의 물리 동작 동사를 코드나 문서 대상에 씌움 ("타입을 못 박다", "규칙을 못박는다", "테스트로 잠갔다") | S2 / **대화·리뷰 S1** | 그 자리에서 실제로 무엇이 되는지를 동사로 쓴다 ("타입을 선언한다", "규칙을 정한다", "관련 테스트가 있다"). 관용구는 원래 사람 사이 합의에 걸리는 말이라 목적어가 타입이나 규칙이 되면 누구에게 못을 박는다는 건지 가리킬 데가 없다. **가르는 것은 누가 정하는 자리냐다.** 문서나 코드가 스스로 정하면 대상이고("이 지시를 1번으로 못박는다", "타입을 못 박다"), 사람들이 협의해 정하면 예외다("팀이 일정을 못 박았다"). 한국어는 주어를 자주 생략하므로 **주어가 드러나면 그걸 보고, 없으면 목적어로 본다** — 타입, 값, 규칙, 지시, 기준은 문서나 코드가 정하는 쪽이고 일정과 조건처럼 사람들이 서로 약속하는 대상은 협의하는 쪽이다. 같은 "범위"라도 문서가 제 적용 범위를 정하는 자리는 대상이고 팀이 일의 범위를 합의하는 자리는 예외다. **나머지 예외는 셋이다.** 목적어가 리터럴 값이라 하드코딩을 뜻하는 "박아두다"("이 값 그냥 박아두죠"), 명사로 굳은 "잠금", 자물쇠나 문처럼 실제 물체를 잠그는 자리("문을 잠갔다"). **탐지기는 "못 박" 어간과 자물쇠 활용형을 전부 건다** — 주어가 사람인지 문서인지 못 가르므로 걸린 자리는 사람이 위 축으로 다시 본다 (I-5와 같은 방식이다). 형태로 빠지는 예외는 앞에 "못"이 없는 "박아두다"와 명사 "잠금"뿐이다. **F-7과 방향이 반대다** — F-7은 기술 비유를 일상 말로 되돌리고 F-10은 일상 비유를 코드 대상에 씌운 쪽을 본다. **F-9와는 품사로 갈린다** — F-9는 결함에 새 이름을 붙인 명사 쪽이고 F-10은 행위를 부르는 동사 쪽이다. **F-8과는 안 겹친다** — F-8은 물리 "측량" 동사만 보므로 "판단을 못 박았다"도 F-10 하나로 판정한다 |
|
|
127
131
|
|
|
128
132
|
## G. Hedging
|
|
129
133
|
|
|
@@ -173,7 +177,7 @@
|
|
|
173
177
|
2. **변경률**: 30% 이하인가 (50% 초과는 작업 중단)
|
|
174
178
|
3. **장르 이탈 없음**: 칼럼이 에세이나 문학으로 변하지 않았는가, 리포트가 블로그체로 떨어지지 않았는가
|
|
175
179
|
4. **말투 보존**: 원문 격식체면 결과도 격식체. 평어체로 떨어뜨리지 않는다
|
|
176
|
-
5. **잔존 S1 패턴 0건** (탐지기 수치는 각 룰의 대상 기준으로 걸러 센다 — 룰이 예외로 둔 자리는 잔존 건수에 안 넣는다): A-1, A-3, A-7, A-8, A-16, B-3, B-5, C-5, C-8, C-10, C-11, C-12, D-1~D-6, D-8, H-1, H-3, J-2가 남아있지 않은가 (대화·리뷰 말투면 A-2, A-5, C-14, D-9, E-8, F-4, F-5, F-6, F-7, F-8, F-9, G-4, I-1, I-5, I-6, I-7, I-8도 S1로 포함)
|
|
180
|
+
5. **잔존 S1 패턴 0건** (탐지기 수치는 각 룰의 대상 기준으로 걸러 센다 — 룰이 예외로 둔 자리는 잔존 건수에 안 넣는다): A-1, A-3, A-7, A-8, A-16, B-3, B-5, C-5, C-8, C-10, C-11, C-12, D-1~D-6, D-8, H-1, H-3, J-2가 남아있지 않은가 (대화·리뷰 말투면 A-2, A-5, C-14, D-9, E-8, F-4, F-5, F-6, F-7, F-8, F-9, F-10, G-4, I-1, I-5, I-6, I-7, I-8도 S1로 포함)
|
|
177
181
|
6. **인공 표현 자제**: 원문에 없던 비유, 수사, 문학적 표현을 윤문 과정에서 임의로 추가하지 않았는가
|
|
178
182
|
7. **삭제 처방 준수**: D-2, D-3, D-4, D-6, C-10을 재작성으로 처리하지 않았는가. 마무리 문장, 부제, 수식어를 지우는 대신 더 그럴듯한 것으로 갈아끼운 자리가 없는가
|
|
179
183
|
|
|
@@ -230,4 +234,4 @@ AI 생성 산문 60편(모델 3종)과 2022년 이전 발행이 확인된 한국
|
|
|
230
234
|
- **C**: S1 잔존 1~2 또는 자체검증 5항 이하 통과 — 사용자에게 strict 모드 권고
|
|
231
235
|
- **D**: S1 잔존 3+ 또는 변경률 50% 초과 — 작업 중단 권고
|
|
232
236
|
|
|
233
|
-
> v2.0 신규/보강은 A-7, A-15, A-16, A-18, A-19, E-2, E-7, F-4 **8개 (A-17 보류)**. 학술 인용 전문은 `references/scholarship.md`. post-editese 3축 지표는 본 룰북 미반영(metric only 트랙). A-17 무정물, 추상명사 '-들'은 학술 근거(전영철 2007·곽은주·진실로 2011) 강하나 외부 회차(2026-05-07 위키 6편)에서 양성 0개 — NMT 원본 출력 회차 후 v2.1에서 동일 ID로 재평가.
|
|
237
|
+
> v2.0 신규/보강은 A-7, A-15, A-16, A-18, A-19, E-2, E-7, F-4 **8개 (A-17 보류)**. **v2.0 이후 추가: A-20, F-10.** 룰을 더하면 이 줄에 ID만 덧붙인다 — 계기와 근거는 각 룰 본문이 갖는다. 그 사이 회차에 들어온 룰은 이 줄이 비어 있던 동안이라 git 이력에서 본다. 학술 인용 전문은 `references/scholarship.md`. post-editese 3축 지표는 본 룰북 미반영(metric only 트랙). A-17 무정물, 추상명사 '-들'은 학술 근거(전영철 2007·곽은주·진실로 2011) 강하나 외부 회차(2026-05-07 위키 6편)에서 양성 0개 — NMT 원본 출력 회차 후 v2.1에서 동일 ID로 재평가.
|
|
@@ -54,6 +54,7 @@
|
|
|
54
54
|
- 용어 일관성 — 같은 개념에 다른 단어 혼용 금지
|
|
55
55
|
- 약어: 첫 등장 시 `SSR(Server-Side Rendering)` 형식
|
|
56
56
|
- 가운뎃점(·) 절제 — 본문에서 "A·B·C" 압축 나열 대신 쉼표나 "A랑 B하고 C"로 푼다. 사람은 산문에서 가운뎃점을 거의 안 쓴다 (표·용어 목록은 예외). 자세히는 `ai-tell-quick-rules.md` C-12
|
|
57
|
+
- "명시적으로" 절제 — explicitly를 그대로 옮긴 부사가 뒤 동사와 뜻이 겹치면 뺀다. "명시적으로 선언한다" → "선언한다". 예외와 판정 기준은 `ai-tell-quick-rules.md` A-20이 갖는다
|
|
57
58
|
|
|
58
59
|
### Technical Term Handling
|
|
59
60
|
|
|
@@ -40,7 +40,7 @@ You are the Presentation Writer role agent.
|
|
|
40
40
|
5. **발표 대본과 슬라이드 텍스트를 구분한다.** 슬라이드에 얹을 짧은 카피와 발표자가 말로 풀 노트를 나눠 쓴다. 슬라이드에 문단을 통째로 얹지 않는다.
|
|
41
41
|
6. **사실은 단정, 해석, 전망은 제안.** 측정된 수치는 또렷하게 단정한다. 원인 추정이나 다음 전망은 "~로 보입니다 / ~하면 어떨까요?"처럼 부드럽게 연다.
|
|
42
42
|
7. **한국어로 직접 사고.** 번역체 금지. style-guide.md의 한국어 문장 규칙을 따른다. 슬라이드 한글 텍스트에서 가운뎃점(·)으로 항목을 압축하지 않는다. "A·B·C" 대신 쉼표나 줄바꿈으로 푼다 (짧은 불릿 라벨은 예외).
|
|
43
|
-
8. **기대치는 초반에
|
|
43
|
+
8. **기대치는 초반에 정한다.** 도입부에서 "이 발표가 끝나면 무엇을 판단·할 수 있어야 하는지"를 먼저 선언한다. 청중이 뭘 가져가야 하는지 알고 들으면 남은 슬라이드를 그 기준으로 따라온다. 교육, 트레이닝형 발표에서 특히 유효하다 (템플릿: `references/content-playbook.md` 선언 항목).
|
|
44
44
|
9. **낯선 개념은 이미 아는 것에 빗댄다.** 처음 듣는 개념을 정의부터 늘어놓지 않고 청중이 이미 아는 익숙한 대상에 빗댄 뒤 차이점만 짚는다. 비유가 이해의 8할을 해준다.
|
|
45
45
|
10. **교육형 발표는 판단력을 스스로 확인시킨다.** 정보 전달로 끝내지 않고 배운 걸 실제로 판단해보는 시나리오 문제를 마지막에 둔다. 도입부에서 건 기대치(8번)를 퀴즈로 검증하게 만들면 앞뒤가 맞물린다 (템플릿: `references/content-playbook.md` 시나리오 퀴즈 항목).
|
|
46
46
|
|
|
@@ -65,7 +65,7 @@
|
|
|
65
65
|
|
|
66
66
|
원칙: 슬라이드에는 문장 하나만. 설명은 발표 노트로 뺀다.
|
|
67
67
|
|
|
68
|
-
**특수 용도 — 기대치 선언.** 교육형 발표 도입부에서 "무엇이면 성공인지"를 먼저
|
|
68
|
+
**특수 용도 — 기대치 선언.** 교육형 발표 도입부에서 "무엇이면 성공인지"를 먼저 정할 때도 이 유형을 쓴다. 실패 조건과 성공 조건을 ❌/✅로 나란히 대비하면 효과적이다.
|
|
69
69
|
|
|
70
70
|
```
|
|
71
71
|
- ❌ 실패 조건: [흔히 하는 착각 — "~을 외웠으면 실패"]
|
|
@@ -385,7 +385,7 @@ Agent {
|
|
|
385
385
|
}
|
|
386
386
|
```
|
|
387
387
|
|
|
388
|
-
`ges_agent get`을 건너뛰면 공통 systemPrompt와 frontmatter `description` 한 줄만 남습니다. 에이전트 본문의 룰이 안 실려서 룰북을 참조하는 에이전트가 룰을 못 본 채로 리뷰합니다. 그래서 이
|
|
388
|
+
`ges_agent get`을 건너뛰면 공통 systemPrompt와 frontmatter `description` 한 줄만 남습니다. 에이전트 본문의 룰이 안 실려서 룰북을 참조하는 에이전트가 룰을 못 본 채로 리뷰합니다. 그래서 이 지시를 서브에이전트 프롬프트의 1번에 둡니다.
|
|
389
389
|
|
|
390
390
|
각 서브에이전트가 돌려준 JSON을 받아, 메인 세션에서 에이전트마다 한 번씩 `review_submit`을 호출합니다 (**2단계에서 정한 순서대로** 최소 4회 — `focusAreas`가 있으면 그 전문가가 먼저입니다). 세션 상태는 메인 세션 한 곳에서만 굴립니다:
|
|
391
391
|
|
|
@@ -144,7 +144,7 @@ outputs:
|
|
|
144
144
|
|
|
145
145
|
로컬 라운드 하나에 멈추는 자리는 그 라운드가 수렴했는지에 따라 갈린다. **수렴한 라운드는 `review` 4.7단계 하나**로 끝난다 — 2.2에서 바로 빠져나가므로 대응 자리가 안 열린다. **안 수렴해 2.3까지 내려간 라운드는 셋**이다(`review` 4.7단계와 `review-reply` 3단계와 5단계). Copilot 라운드는 3단계가 ⓑ와 같은 자리라 하나 적다.
|
|
146
146
|
|
|
147
|
-
**`review-reply` 5단계는 그 문서가 "어떤 경우에도 건너뛰지 않는다"고
|
|
147
|
+
**`review-reply` 5단계는 그 문서가 "어떤 경우에도 건너뛰지 않는다"고 적은 불변 규칙이다.** 부르는 쪽에서 억제할 성질이 아니다. 답글은 동료가 읽고 판단 근거로 쓰는 협업 산출물이라 그렇게 정해져 있다.
|
|
148
148
|
|
|
149
149
|
### 미니 인터뷰는 건너뛰지 않고 대신 답한다
|
|
150
150
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"detectors.d.ts","sourceRoot":"","sources":["../../../src/humanize/detectors.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,MAAM,WAAW,SAAS;IACxB,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,EAAE,CAAC;CACnB;AAgBD,MAAM,WAAW,SAAS;IACxB,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,YAAY;IAC3B,+CAA+C;IAC/C,aAAa,CAAC,EAAE,OAAO,CAAC;CACzB;AAED;;;;;;;GAOG;AACH,wBAAgB,UAAU,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,GAAE,YAAiB,GAAG,SAAS,EAAE,CAyBhF;AAgDD,wBAAgB,cAAc,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,EAAE,CAKrD;
|
|
1
|
+
{"version":3,"file":"detectors.d.ts","sourceRoot":"","sources":["../../../src/humanize/detectors.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,MAAM,WAAW,SAAS;IACxB,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,EAAE,CAAC;CACnB;AAgBD,MAAM,WAAW,SAAS;IACxB,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,YAAY;IAC3B,+CAA+C;IAC/C,aAAa,CAAC,EAAE,OAAO,CAAC;CACzB;AAED;;;;;;;GAOG;AACH,wBAAgB,UAAU,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,GAAE,YAAiB,GAAG,SAAS,EAAE,CAyBhF;AAgDD,wBAAgB,cAAc,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,EAAE,CAKrD;AA+LD,eAAO,MAAM,mBAAmB,EAAE,MAAM,EAAmC,CAAC;AAE5E,wBAAgB,MAAM,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,SAAS,MAAM,EAAE,GAAG,SAAS,EAAE,CAE7E;AAoBD,oDAAoD;AACpD,MAAM,WAAW,YAAY;IAC3B,KAAK,EAAE,MAAM,CAAC;IACd,GAAG,EAAE,MAAM,CAAC;IACZ,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,EAAE,CAAC;CACnB;AA2BD;;;;;;GAMG;AACH,wBAAgB,aAAa,CAAC,IAAI,EAAE,MAAM,GAAG,YAAY,EAAE,CAE1D;AAiBD,wBAAgB,WAAW,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,SAAS,MAAM,EAAE,GAAG,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAE1F;AAED,MAAM,WAAW,mBAAmB;IAClC,YAAY,EAAE,MAAM,CAAC;IACrB,aAAa,EAAE,MAAM,CAAC;CACvB;AAED;;;GAGG;AACH,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,MAAM,GAAG,mBAAmB,CAcrE;AAeD,kCAAkC;AAClC,wBAAgB,eAAe,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,EAAE,CAStD;AAED,wBAAgB,sBAAsB,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,MAAM,EAAE,CAE9E;AAID,MAAM,WAAW,cAAc;IAC7B,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC;IAChB,UAAU,EAAE,MAAM,CAAC;IACnB,KAAK,EAAE,MAAM,CAAC;CACf;AAED,wBAAgB,cAAc,CAAC,IAAI,EAAE,MAAM,GAAG,cAAc,CAS3D;AAED;;;;;;GAMG;AACH,wBAAgB,SAAS,CACvB,IAAI,EAAE,MAAM,EACZ,OAAO,CAAC,EAAE,SAAS,MAAM,EAAE,GAC1B;IAAE,UAAU,EAAE,SAAS,EAAE,CAAC;IAAC,OAAO,EAAE,YAAY,EAAE,CAAA;CAAE,CAGtD"}
|
|
@@ -155,14 +155,29 @@ const DETECTORS = [
|
|
|
155
155
|
// 건너뛰되 품사는 안 가린다. 조사를 필수로 둬야 부사격 "그 방향으로 갔어요"가 빠진다 —
|
|
156
156
|
// 그건 룰북이 처방으로 내놓은 형태라 걸리면 처방을 다시 고치라고 시키는 꼴이 된다
|
|
157
157
|
matcher('D-9', /(?:방향|결론|판단|논의)[이가은는도]\s*(?:\S+\s+)?(?:갔|가고|간다)/g),
|
|
158
|
-
|
|
159
|
-
// 자물쇠에 빗대는 자리가 대상이다 — "테스트로 잠갔다" → "관련 테스트가 있다"
|
|
160
|
-
matcher('F-7', /(?:증류|배선|결정화|평탄화|오케스트레이션|파이프라인화|잠[그근갔글가긴겨겼기](?![가-힣]*파일))/g),
|
|
158
|
+
matcher('F-7', /(?:증류|배선|결정화|평탄화|오케스트레이션|파이프라인화)/g),
|
|
161
159
|
// 목적어가 추상명사인 자리만 본다 — "온도를 재봤는데"는 멀쩡한 물리적 용법이다.
|
|
162
160
|
// 어미를 통째로 확인해야 "재보정", "재보고서"처럼 접두사 재-에 보-가 붙은 말이 빠진다.
|
|
163
161
|
// 문자 클래스로 "보" 한 글자만 보면 그 둘이 그대로 걸린다.
|
|
164
162
|
// 다만 "재보고 있-"은 진행형과 형태가 같아 열어 뒀다
|
|
165
163
|
matcher('F-8', /(?:근거|의견|판단|영향|의미|가치|리스크)(?:를|을)\s*(?:재(?=봤|봐|보니|보면|본다|보았|보고\s*있|본(?![가-힣]))|달아(?=[봤봐본보았뒀둔두])|달았)/g),
|
|
164
|
+
// 두 갈래를 한 룰이 본다. 룰북 F-10이 자물쇠 갈래를 F-7에서 넘겨받은 자리다.
|
|
165
|
+
//
|
|
166
|
+
// `못 박-`은 어간까지만 열고 어미는 안 가린다 — "못 박았다", "못박아주세요", "못박은"이
|
|
167
|
+
// 전부 걸린다. 띄어쓰기는 없어도 되고 하나까지 허용한다. 부정 부사가 앞에 붙은 "잘못
|
|
168
|
+
// 박아넣었다"는 뒤 선읽기로 뺀다.
|
|
169
|
+
//
|
|
170
|
+
// 룰이 가르는 축은 누가 정하는 자리냐인데 그건 형태로 안 보인다. 사람들이 협의해 정한
|
|
171
|
+
// "팀이 일정을 못 박았다"도 여기 걸린다. 걸린 자리는 사람이 룰북 축으로 다시 본다 —
|
|
172
|
+
// I-5가 같은 방식이다.
|
|
173
|
+
// 형태로 빠지는 건 앞에 "못"이 없는 하드코딩 갈래("이 값 그냥 박아두죠")뿐이다.
|
|
174
|
+
//
|
|
175
|
+
// 자물쇠 갈래에서 명사형 "잠금"이 빠지는 건 문자 클래스에 "금"이 없어서다. 뒤의 선읽기가
|
|
176
|
+
// 하는 일은 그게 아니라 "잠긴파일"처럼 붙여 쓴 꼴을 막는 것뿐이다 — 띄어 쓴 "잠긴 파일"은
|
|
177
|
+
// 공백을 못 넘어 그대로 걸린다. F-7에서 옮겨오며 이 경계도 함께 왔다.
|
|
178
|
+
// 문이나 물처럼 실제 물체를 대상으로 쓴 자리도 목적어를 안 가려서 함께 걸린다. 룰북이
|
|
179
|
+
// 예외로 적어뒀고 여기서 가르지 않는다 — 좁히려면 목적어 목록이 필요한데 그만큼 미탐이 는다
|
|
180
|
+
matcher('F-10', /(?:(?<!잘)못\s?박|잠[그근갔글가긴겨겼기](?![가-힣]*파일))/g),
|
|
166
181
|
matcher('G-2', /(?:로\s*보인다|인\s*듯하다|로\s*판단된다|라고\s*여겨진다|로\s*여겨진다)/g),
|
|
167
182
|
matcher('I-1', /(?:인\s*것이다|한\s*것이다|는\s*것이다|일\s*것이다)/g),
|
|
168
183
|
matcher('I-3', /(?:다는\s*뜻이다|다는\s*의미다|다는\s*것이다)/g),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"detectors.js","sourceRoot":"","sources":["../../../src/humanize/detectors.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAmBH,MAAM,UAAU,GAAG,CAAC,CAAC;AACrB,MAAM,UAAU,GAAG,EAAE,CAAC;AAYtB;;;;;;;GAOG;AACH,MAAM,UAAU,UAAU,CAAC,IAAY,EAAE,UAAwB,EAAE;IACjE,MAAM,KAAK,GAAgB,EAAE,CAAC;IAC9B,IAAI,OAAO,GAAG,KAAK,CAAC;IACpB,IAAI,WAAW,GAAG,KAAK,CAAC;IAExB,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,CAAC,GAAG,EAAE,KAAK,EAAE,EAAE;QACtC,MAAM,OAAO,GAAG,GAAG,CAAC,SAAS,EAAE,CAAC;QAEhC,IAAI,OAAO,CAAC,UAAU,CAAC,KAAK,CAAC,EAAE,CAAC;YAC9B,IAAI,CAAC,OAAO;gBAAE,WAAW,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,MAAM,GAAG,CAAC,CAAC;YAC/D,OAAO,GAAG,CAAC,OAAO,CAAC;YACnB,OAAO;QACT,CAAC;QACD,IAAI,OAAO,IAAI,WAAW;YAAE,OAAO;QACnC,IAAI,OAAO,CAAC,UAAU,CAAC,GAAG,CAAC;YAAE,OAAO;QAEpC,IAAI,OAAO,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;YAC5B,IAAI,OAAO,CAAC,aAAa;gBAAE,OAAO;YAClC,KAAK,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,GAAG,CAAC,OAAO,CAAC,WAAW,EAAE,EAAE,CAAC,EAAE,MAAM,EAAE,KAAK,GAAG,CAAC,EAAE,CAAC,CAAC;YACtE,OAAO;QACT,CAAC;QACD,KAAK,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,GAAG,EAAE,MAAM,EAAE,KAAK,GAAG,CAAC,EAAE,CAAC,CAAC;IAC/C,CAAC,CAAC,CAAC;IAEH,OAAO,KAAK,CAAC;AACf,CAAC;AAED,SAAS,SAAS,CAAC,IAAY,EAAE,UAAwB,EAAE;IACzD,OAAO,UAAU,CAAC,IAAI,EAAE,OAAO,CAAC;SAC7B,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC;SACxB,IAAI,CAAC,IAAI,CAAC;SACV,OAAO,CAAC,YAAY,EAAE,GAAG,CAAC,CAAC;AAChC,CAAC;AAED;;;;;;;;;;GAUG;AACH,SAAS,WAAW,CAAC,MAAc;IACjC,OAAO,MAAM,CAAC,OAAO,CAAC,eAAe,EAAE,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,UAAU,CAAC,CAAC;AACnE,CAAC;AAED,SAAS,OAAO,CAAC,MAAc,EAAE,EAAU;IACzC,OAAO;QACL,MAAM;QACN,GAAG,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,GAAG,KAAK,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAE,CAAC,IAAI,EAAE,CAAC;KACjE,CAAC;AACJ,CAAC;AAED,gCAAgC;AAChC,SAAS,eAAe,CAAC,MAAc,EAAE,KAAe;IACtD,MAAM,EAAE,GAAG,IAAI,MAAM,CAAC,OAAO,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;IACvD,OAAO;QACL,MAAM;QACN,GAAG,EAAE,CAAC,KAAK,EAAE,EAAE;YACb,MAAM,IAAI,GAAa,EAAE,CAAC;YAC1B,KAAK,MAAM,KAAK,IAAI,cAAc,CAAC,KAAK,CAAC,EAAE,CAAC;gBAC1C,MAAM,QAAQ,GAAG,KAAK,CAAC,OAAO,CAAC,iBAAiB,EAAE,EAAE,CAAC,CAAC;gBACtD,MAAM,KAAK,GAAG,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;gBACjC,IAAI,KAAK;oBAAE,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAE,CAAC,IAAI,EAAE,CAAC,CAAC;YACzC,CAAC;YACD,OAAO,IAAI,CAAC;QACd,CAAC;KACF,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,cAAc,CAAC,IAAY;IACzC,OAAO,IAAI;SACR,KAAK,CAAC,oBAAoB,CAAC;SAC3B,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;SACpB,MAAM,CAAC,OAAO,CAAC,CAAC;AACrB,CAAC;AAED,yDAAyD;AACzD,MAAM,UAAU,GAAG,WAAW,CAAC;AAC/B,MAAM,IAAI,GAAG,cAAc,CAAC;AAE5B;;;;;;;;;;;;;;;;;;;GAmBG;AACH,MAAM,OAAO,GAAG;IACd,wBAAwB;IACxB,KAAK;IACL,eAAe;IACf,GAAG;IACH,aAAa;IACb,0BAA0B;IAC1B,UAAU;IACV,OAAO;IACP,WAAW;IACX,UAAU;IACV,oBAAoB,UAAU,EAAE;CACjC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AAEZ,MAAM,EAAE,GAAG,IAAI,MAAM,CAAC,iBAAiB,OAAO,GAAG,EAAE,GAAG,CAAC,CAAC;AAExD,MAAM,SAAS,GAAe;IAC5B,OAAO,CAAC,KAAK,EAAE,IAAI,MAAM,CAAC,mCAAmC,IAAI,GAAG,UAAU,EAAE,EAAE,GAAG,CAAC,CAAC;IACvF,OAAO,CACL,KAAK,EACL,IAAI,MAAM,CAAC,wCAAwC,IAAI,GAAG,UAAU,EAAE,EAAE,GAAG,CAAC,CAC7E;IACD,OAAO,CAAC,KAAK,EAAE,IAAI,MAAM,CAAC,6BAA6B,IAAI,GAAG,UAAU,EAAE,EAAE,GAAG,CAAC,CAAC;IACjF,OAAO,CAAC,KAAK,EAAE,IAAI,MAAM,CAAC,+BAA+B,UAAU,EAAE,EAAE,GAAG,CAAC,CAAC;IAC5E,OAAO,CAAC,KAAK,EAAE,yBAAyB,CAAC;IACzC,6CAA6C;IAC7C,OAAO,CAAC,KAAK,EAAE,8CAA8C,CAAC;IAC9D,OAAO,CAAC,KAAK,EAAE,IAAI,MAAM,CAAC,iCAAiC,UAAU,EAAE,EAAE,GAAG,CAAC,CAAC;IAC9E,OAAO,CACL,MAAM,EACN,IAAI,MAAM,CAAC,uCAAuC,UAAU,EAAE,EAAE,GAAG,CAAC,CACrE;IACD,uEAAuE;IACvE,uDAAuD;IACvD,OAAO,CAAC,KAAK,EAAE,uBAAuB,CAAC;IACvC,OAAO,CAAC,MAAM,EAAE,wCAAwC,CAAC;IACzD,OAAO,CAAC,MAAM,EAAE,gCAAgC,CAAC;IACjD,OAAO,CAAC,KAAK,EAAE,+CAA+C,CAAC;IAC/D,OAAO,CAAC,KAAK,EAAE,6BAA6B,CAAC;IAC7C,OAAO,CAAC,KAAK,EAAE,kBAAkB,CAAC;IAClC,OAAO,CAAC,KAAK,EAAE,iCAAiC,CAAC;IACjD,OAAO,CAAC,KAAK,EAAE,2CAA2C,CAAC;IAC3D,OAAO,CAAC,KAAK,EAAE,uCAAuC,CAAC;IACvD,gDAAgD;IAChD,qDAAqD;IACrD,gDAAgD;IAChD,OAAO,CAAC,KAAK,EAAE,kDAAkD,CAAC;IAClE,
|
|
1
|
+
{"version":3,"file":"detectors.js","sourceRoot":"","sources":["../../../src/humanize/detectors.ts"],"names":[],"mappings":"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"}
|
|
@@ -86,7 +86,7 @@ export class SnippetReader {
|
|
|
86
86
|
gapAfter: next !== undefined && next !== no + 1,
|
|
87
87
|
};
|
|
88
88
|
});
|
|
89
|
-
// 태그를 비우면 윤문 검사가 펜스 안을 산문으로 읽는다. 모르는 확장자는 text로
|
|
89
|
+
// 태그를 비우면 윤문 검사가 펜스 안을 산문으로 읽는다. 모르는 확장자는 text로 정한다
|
|
90
90
|
return { lang: LANG_BY_EXT[extname(file).toLowerCase()] ?? 'text', lines };
|
|
91
91
|
}
|
|
92
92
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"snippet-reader.js","sourceRoot":"","sources":["../../../src/review/snippet-reader.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"snippet-reader.js","sourceRoot":"","sources":["../../../src/review/snippet-reader.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "gestalt",
|
|
3
|
-
"version": "0.72.
|
|
3
|
+
"version": "0.72.6",
|
|
4
4
|
"description": "Gestalt psychology-driven AI development harness. Transforms scattered requirements into structured, validated specifications through interactive interviews.",
|
|
5
5
|
"author": {
|
|
6
6
|
"name": "tienne"
|
package/plugin/.mcp.json
CHANGED
package/plugin/mcp.json
CHANGED
|
@@ -43,6 +43,7 @@
|
|
|
43
43
|
| A-16 | "그/그녀/그것/그들" 단락 ≥3회 영어 대명사 직역 | S1 | 50%+ 영형(생략) 또는 호칭·명사구로 (김도훈 2009) |
|
|
44
44
|
| A-18 | 명사 앞 ≥3어절 관형구·관계절 좌향 수식 | S2 | 문장 분리 또는 후치 동격절("X를 만났는데, 그 X는 …") (박옥수 2018) |
|
|
45
45
|
| A-19 | 이중 조사 "~에서의/~에로의/~으로의/~에의/~으로부터의" | S2 | 절·구로 풀어쓰기. 단순 ~의는 비대상 (김정우 2007) |
|
|
46
|
+
| A-20 | "명시적으로"가 뒤 동사와 뜻이 겹쳐 잉여로 남음 (explicitly 직역 — "명시적으로 선언한다", "명시적으로 지정한다") | S2 | 부사를 뺀다 ("선언한다", "지정한다"). 선언과 지정은 그 자체가 명시하는 행위라 부사에 남는 뜻이 없다. **암묵 경로와 대비하는 자리는 예외다** — "추론에 맡기지 말고 명시적으로 선언하자"처럼 반대편이 같은 문단이나 바로 앞뒤 문장에 있으면 남긴다. **대화·리뷰에서도 S2로 둔다** — 기술 문서는 암묵 경로와 짝지어 쓰는 자리가 많아 A-2처럼 격상하면 정당한 쓰임이 함께 걸린다. 이 경계는 뜻이라 탐지기가 없다 |
|
|
46
47
|
|
|
47
48
|
## B. 영어 인용, 용어 과다
|
|
48
49
|
|
|
@@ -116,14 +117,17 @@
|
|
|
116
117
|
|
|
117
118
|
## F. 과도한 수식, 중복
|
|
118
119
|
|
|
120
|
+
이 절은 축이 둘이다 — F-4~F-6은 명사화이고 F-7~F-10은 비유 오용이다. 새 룰을 넣을 때 어느 축인지 먼저 정한다.
|
|
121
|
+
|
|
119
122
|
| ID | 패턴 | 심각도 | 처방 |
|
|
120
123
|
|---|---|---|---|
|
|
121
124
|
| F-4 | 한자어 명사화 -성/-적/-화 + 영어 명사화 -tion/-ment/-ness/-ity 누적 (한 글 12회+) | S2 / **대화·리뷰 S1** | 동사·형용사 어근으로 환원("the implementation of the policy" → "정책 시행" 또는 "정책을 시행하기") |
|
|
122
125
|
| F-5 | "~적 N" 추상 체인 ("전략적 함의", "실천적 기반") | S2 / **대화·리뷰 S1** | 명사+명사 또는 풀어쓰기("전략 함의", "실천의 기반") |
|
|
123
126
|
| F-6 | 복합명사 압축 — 명사구를 조사·동사 없이 이어붙여 개념을 뭉침 ("시안 정합 버그픽스", "유지보수성 개선 작업", "권한 체크 로직") | S2 / **대화·리뷰 S1** | 동사·조사로 풀어 서술 ("디자인 시안과 다르게 렌더링되던 문제", "나중에 유지보수하기 편하게"). 사람은 압축 명사구 대신 무엇을 왜 했는지 풀어 말한다 |
|
|
124
|
-
| F-7 | 기술·이공계 비유 명사를 일상 대화에 그대로 (증류·배선·결정화·평탄화·오케스트레이션·파이프라인화·축 등, 화학·전기·수학 어휘의 비유 차용) | S2 / **대화·리뷰 S1** | 일상 동사·명사로 환원 (증류 → "추려내다/뽑아내다", 배선 → "연결하다/걸어두다", 결정화 → "정리하다", 평탄화 → "밋밋하게 만들다", **축 → "측면"**·"기준"). 문법은 멀쩡해 룰 매칭이 안 되지만 사람은 대화에서 안 쓴다. "네 축을 잰다"가 아니라 "4가지 측면에서 측정한다". **예외는 그 프로젝트가 개념에 붙인 이름일 때만이고, 그 개념을 다루는 자리에서만이다** — 게슈탈트의 "스펙 결정화"는 `similarity-crystallizer` 에이전트 이름이자 인터뷰→Spec 변환의 정의라서 두지만, 같은 말을 지라 티켓 작성처럼 무관한 자리에 끌어다 쓰면 F-7이다. 코드의 "파이프라인" 자체, 그래프의 x축도 같은 기준.
|
|
127
|
+
| F-7 | 기술·이공계 비유 명사를 일상 대화에 그대로 (증류·배선·결정화·평탄화·오케스트레이션·파이프라인화·축 등, 화학·전기·수학 어휘의 비유 차용) | S2 / **대화·리뷰 S1** | 일상 동사·명사로 환원 (증류 → "추려내다/뽑아내다", 배선 → "연결하다/걸어두다", 결정화 → "정리하다", 평탄화 → "밋밋하게 만들다", **축 → "측면"**·"기준"). 문법은 멀쩡해 룰 매칭이 안 되지만 사람은 대화에서 안 쓴다. "네 축을 잰다"가 아니라 "4가지 측면에서 측정한다". **예외는 그 프로젝트가 개념에 붙인 이름일 때만이고, 그 개념을 다루는 자리에서만이다** — 게슈탈트의 "스펙 결정화"는 `similarity-crystallizer` 에이전트 이름이자 인터뷰→Spec 변환의 정의라서 두지만, 같은 말을 지라 티켓 작성처럼 무관한 자리에 끌어다 쓰면 F-7이다. 코드의 "파이프라인" 자체, 그래프의 x축도 같은 기준. 테스트를 자물쇠에 빗댄 "잠그다"는 방향이 반대라 F-10이 본다 |
|
|
125
128
|
| F-8 | 추상명사에 물리 측량 동사("근거를 재봤는데", "판단을 재보고 있다", "근거를 재본 결과", "의견을 달아봤는데") | S2 / **대화·리뷰 S1** | 저울에 올린 게 아니라 검토한 것이다. 사람이 하는 행위 동사로 되돌린다("근거를 확인해봤는데", "의견을 검토해봤는데"). F-7 물리 동사 도피의 사촌이라 목적어가 근거, 의견, 판단, 영향, 의미, 가치, 리스크인 자리만 본다 — "온도를 재봤는데"는 대상이 아니다 |
|
|
126
129
|
| F-9 | 결함·코드 상태를 그 자리에서 지어낸 별칭으로 명명 ("맨몸 호출", "벌거벗은 API") | S2 / **대화·리뷰 S1** | 무엇이 빠졌고 무엇이 틀렸는지 그대로 쓴다 ("맨몸 호출" → "접두 객체 없이 함수 이름만 적혀 있다"). 별칭은 검색이 안 되고 처음 읽는 사람이 못 알아보고 답글에서 재생산돼 팀 어휘로 굳는다. **예외는 남이 정의해 둔 이름을 그 뜻 그대로 쓸 때다** — "널 포인터", "데드락", "고아 노드"처럼 명세나 교과서에 뜻이 박힌 말이고 F-6으로도 안 넘긴다. 다른 결함에 비유로 얹으면 예외가 아니고 팀에서 몇 번 쓰였다는 것도 아니다 — 그렇게 열면 답글에 한 번 재생산된 별칭이 곧바로 빠져나간다. **F-7과 방향이 반대다** — F-7은 기술 비유를 일상 말로 되돌리고 F-9는 일상 비유를 기술 대상에 씌운 쪽을 본다. F-9에 걸린 별칭이 스스로 움직이면 D-5, 조사 없이 뭉치면 F-6도 함께 걸린다. 이 경계는 뜻이라 탐지기가 없다 |
|
|
130
|
+
| F-10 | 일상 관용구의 물리 동작 동사를 코드나 문서 대상에 씌움 ("타입을 못 박다", "규칙을 못박는다", "테스트로 잠갔다") | S2 / **대화·리뷰 S1** | 그 자리에서 실제로 무엇이 되는지를 동사로 쓴다 ("타입을 선언한다", "규칙을 정한다", "관련 테스트가 있다"). 관용구는 원래 사람 사이 합의에 걸리는 말이라 목적어가 타입이나 규칙이 되면 누구에게 못을 박는다는 건지 가리킬 데가 없다. **가르는 것은 누가 정하는 자리냐다.** 문서나 코드가 스스로 정하면 대상이고("이 지시를 1번으로 못박는다", "타입을 못 박다"), 사람들이 협의해 정하면 예외다("팀이 일정을 못 박았다"). 한국어는 주어를 자주 생략하므로 **주어가 드러나면 그걸 보고, 없으면 목적어로 본다** — 타입, 값, 규칙, 지시, 기준은 문서나 코드가 정하는 쪽이고 일정과 조건처럼 사람들이 서로 약속하는 대상은 협의하는 쪽이다. 같은 "범위"라도 문서가 제 적용 범위를 정하는 자리는 대상이고 팀이 일의 범위를 합의하는 자리는 예외다. **나머지 예외는 셋이다.** 목적어가 리터럴 값이라 하드코딩을 뜻하는 "박아두다"("이 값 그냥 박아두죠"), 명사로 굳은 "잠금", 자물쇠나 문처럼 실제 물체를 잠그는 자리("문을 잠갔다"). **탐지기는 "못 박" 어간과 자물쇠 활용형을 전부 건다** — 주어가 사람인지 문서인지 못 가르므로 걸린 자리는 사람이 위 축으로 다시 본다 (I-5와 같은 방식이다). 형태로 빠지는 예외는 앞에 "못"이 없는 "박아두다"와 명사 "잠금"뿐이다. **F-7과 방향이 반대다** — F-7은 기술 비유를 일상 말로 되돌리고 F-10은 일상 비유를 코드 대상에 씌운 쪽을 본다. **F-9와는 품사로 갈린다** — F-9는 결함에 새 이름을 붙인 명사 쪽이고 F-10은 행위를 부르는 동사 쪽이다. **F-8과는 안 겹친다** — F-8은 물리 "측량" 동사만 보므로 "판단을 못 박았다"도 F-10 하나로 판정한다 |
|
|
127
131
|
|
|
128
132
|
## G. Hedging
|
|
129
133
|
|
|
@@ -173,7 +177,7 @@
|
|
|
173
177
|
2. **변경률**: 30% 이하인가 (50% 초과는 작업 중단)
|
|
174
178
|
3. **장르 이탈 없음**: 칼럼이 에세이나 문학으로 변하지 않았는가, 리포트가 블로그체로 떨어지지 않았는가
|
|
175
179
|
4. **말투 보존**: 원문 격식체면 결과도 격식체. 평어체로 떨어뜨리지 않는다
|
|
176
|
-
5. **잔존 S1 패턴 0건** (탐지기 수치는 각 룰의 대상 기준으로 걸러 센다 — 룰이 예외로 둔 자리는 잔존 건수에 안 넣는다): A-1, A-3, A-7, A-8, A-16, B-3, B-5, C-5, C-8, C-10, C-11, C-12, D-1~D-6, D-8, H-1, H-3, J-2가 남아있지 않은가 (대화·리뷰 말투면 A-2, A-5, C-14, D-9, E-8, F-4, F-5, F-6, F-7, F-8, F-9, G-4, I-1, I-5, I-6, I-7, I-8도 S1로 포함)
|
|
180
|
+
5. **잔존 S1 패턴 0건** (탐지기 수치는 각 룰의 대상 기준으로 걸러 센다 — 룰이 예외로 둔 자리는 잔존 건수에 안 넣는다): A-1, A-3, A-7, A-8, A-16, B-3, B-5, C-5, C-8, C-10, C-11, C-12, D-1~D-6, D-8, H-1, H-3, J-2가 남아있지 않은가 (대화·리뷰 말투면 A-2, A-5, C-14, D-9, E-8, F-4, F-5, F-6, F-7, F-8, F-9, F-10, G-4, I-1, I-5, I-6, I-7, I-8도 S1로 포함)
|
|
177
181
|
6. **인공 표현 자제**: 원문에 없던 비유, 수사, 문학적 표현을 윤문 과정에서 임의로 추가하지 않았는가
|
|
178
182
|
7. **삭제 처방 준수**: D-2, D-3, D-4, D-6, C-10을 재작성으로 처리하지 않았는가. 마무리 문장, 부제, 수식어를 지우는 대신 더 그럴듯한 것으로 갈아끼운 자리가 없는가
|
|
179
183
|
|
|
@@ -230,4 +234,4 @@ AI 생성 산문 60편(모델 3종)과 2022년 이전 발행이 확인된 한국
|
|
|
230
234
|
- **C**: S1 잔존 1~2 또는 자체검증 5항 이하 통과 — 사용자에게 strict 모드 권고
|
|
231
235
|
- **D**: S1 잔존 3+ 또는 변경률 50% 초과 — 작업 중단 권고
|
|
232
236
|
|
|
233
|
-
> v2.0 신규/보강은 A-7, A-15, A-16, A-18, A-19, E-2, E-7, F-4 **8개 (A-17 보류)**. 학술 인용 전문은 `references/scholarship.md`. post-editese 3축 지표는 본 룰북 미반영(metric only 트랙). A-17 무정물, 추상명사 '-들'은 학술 근거(전영철 2007·곽은주·진실로 2011) 강하나 외부 회차(2026-05-07 위키 6편)에서 양성 0개 — NMT 원본 출력 회차 후 v2.1에서 동일 ID로 재평가.
|
|
237
|
+
> v2.0 신규/보강은 A-7, A-15, A-16, A-18, A-19, E-2, E-7, F-4 **8개 (A-17 보류)**. **v2.0 이후 추가: A-20, F-10.** 룰을 더하면 이 줄에 ID만 덧붙인다 — 계기와 근거는 각 룰 본문이 갖는다. 그 사이 회차에 들어온 룰은 이 줄이 비어 있던 동안이라 git 이력에서 본다. 학술 인용 전문은 `references/scholarship.md`. post-editese 3축 지표는 본 룰북 미반영(metric only 트랙). A-17 무정물, 추상명사 '-들'은 학술 근거(전영철 2007·곽은주·진실로 2011) 강하나 외부 회차(2026-05-07 위키 6편)에서 양성 0개 — NMT 원본 출력 회차 후 v2.1에서 동일 ID로 재평가.
|
|
@@ -54,6 +54,7 @@
|
|
|
54
54
|
- 용어 일관성 — 같은 개념에 다른 단어 혼용 금지
|
|
55
55
|
- 약어: 첫 등장 시 `SSR(Server-Side Rendering)` 형식
|
|
56
56
|
- 가운뎃점(·) 절제 — 본문에서 "A·B·C" 압축 나열 대신 쉼표나 "A랑 B하고 C"로 푼다. 사람은 산문에서 가운뎃점을 거의 안 쓴다 (표·용어 목록은 예외). 자세히는 `ai-tell-quick-rules.md` C-12
|
|
57
|
+
- "명시적으로" 절제 — explicitly를 그대로 옮긴 부사가 뒤 동사와 뜻이 겹치면 뺀다. "명시적으로 선언한다" → "선언한다". 예외와 판정 기준은 `ai-tell-quick-rules.md` A-20이 갖는다
|
|
57
58
|
|
|
58
59
|
### Technical Term Handling
|
|
59
60
|
|
|
@@ -40,7 +40,7 @@ You are the Presentation Writer role agent.
|
|
|
40
40
|
5. **발표 대본과 슬라이드 텍스트를 구분한다.** 슬라이드에 얹을 짧은 카피와 발표자가 말로 풀 노트를 나눠 쓴다. 슬라이드에 문단을 통째로 얹지 않는다.
|
|
41
41
|
6. **사실은 단정, 해석, 전망은 제안.** 측정된 수치는 또렷하게 단정한다. 원인 추정이나 다음 전망은 "~로 보입니다 / ~하면 어떨까요?"처럼 부드럽게 연다.
|
|
42
42
|
7. **한국어로 직접 사고.** 번역체 금지. style-guide.md의 한국어 문장 규칙을 따른다. 슬라이드 한글 텍스트에서 가운뎃점(·)으로 항목을 압축하지 않는다. "A·B·C" 대신 쉼표나 줄바꿈으로 푼다 (짧은 불릿 라벨은 예외).
|
|
43
|
-
8. **기대치는 초반에
|
|
43
|
+
8. **기대치는 초반에 정한다.** 도입부에서 "이 발표가 끝나면 무엇을 판단·할 수 있어야 하는지"를 먼저 선언한다. 청중이 뭘 가져가야 하는지 알고 들으면 남은 슬라이드를 그 기준으로 따라온다. 교육, 트레이닝형 발표에서 특히 유효하다 (템플릿: `references/content-playbook.md` 선언 항목).
|
|
44
44
|
9. **낯선 개념은 이미 아는 것에 빗댄다.** 처음 듣는 개념을 정의부터 늘어놓지 않고 청중이 이미 아는 익숙한 대상에 빗댄 뒤 차이점만 짚는다. 비유가 이해의 8할을 해준다.
|
|
45
45
|
10. **교육형 발표는 판단력을 스스로 확인시킨다.** 정보 전달로 끝내지 않고 배운 걸 실제로 판단해보는 시나리오 문제를 마지막에 둔다. 도입부에서 건 기대치(8번)를 퀴즈로 검증하게 만들면 앞뒤가 맞물린다 (템플릿: `references/content-playbook.md` 시나리오 퀴즈 항목).
|
|
46
46
|
|
|
@@ -65,7 +65,7 @@
|
|
|
65
65
|
|
|
66
66
|
원칙: 슬라이드에는 문장 하나만. 설명은 발표 노트로 뺀다.
|
|
67
67
|
|
|
68
|
-
**특수 용도 — 기대치 선언.** 교육형 발표 도입부에서 "무엇이면 성공인지"를 먼저
|
|
68
|
+
**특수 용도 — 기대치 선언.** 교육형 발표 도입부에서 "무엇이면 성공인지"를 먼저 정할 때도 이 유형을 쓴다. 실패 조건과 성공 조건을 ❌/✅로 나란히 대비하면 효과적이다.
|
|
69
69
|
|
|
70
70
|
```
|
|
71
71
|
- ❌ 실패 조건: [흔히 하는 착각 — "~을 외웠으면 실패"]
|
|
@@ -385,7 +385,7 @@ Agent {
|
|
|
385
385
|
}
|
|
386
386
|
```
|
|
387
387
|
|
|
388
|
-
`ges_agent get`을 건너뛰면 공통 systemPrompt와 frontmatter `description` 한 줄만 남습니다. 에이전트 본문의 룰이 안 실려서 룰북을 참조하는 에이전트가 룰을 못 본 채로 리뷰합니다. 그래서 이
|
|
388
|
+
`ges_agent get`을 건너뛰면 공통 systemPrompt와 frontmatter `description` 한 줄만 남습니다. 에이전트 본문의 룰이 안 실려서 룰북을 참조하는 에이전트가 룰을 못 본 채로 리뷰합니다. 그래서 이 지시를 서브에이전트 프롬프트의 1번에 둡니다.
|
|
389
389
|
|
|
390
390
|
각 서브에이전트가 돌려준 JSON을 받아, 메인 세션에서 에이전트마다 한 번씩 `review_submit`을 호출합니다 (**2단계에서 정한 순서대로** 최소 4회 — `focusAreas`가 있으면 그 전문가가 먼저입니다). 세션 상태는 메인 세션 한 곳에서만 굴립니다:
|
|
391
391
|
|
|
@@ -144,7 +144,7 @@ outputs:
|
|
|
144
144
|
|
|
145
145
|
로컬 라운드 하나에 멈추는 자리는 그 라운드가 수렴했는지에 따라 갈린다. **수렴한 라운드는 `review` 4.7단계 하나**로 끝난다 — 2.2에서 바로 빠져나가므로 대응 자리가 안 열린다. **안 수렴해 2.3까지 내려간 라운드는 셋**이다(`review` 4.7단계와 `review-reply` 3단계와 5단계). Copilot 라운드는 3단계가 ⓑ와 같은 자리라 하나 적다.
|
|
146
146
|
|
|
147
|
-
**`review-reply` 5단계는 그 문서가 "어떤 경우에도 건너뛰지 않는다"고
|
|
147
|
+
**`review-reply` 5단계는 그 문서가 "어떤 경우에도 건너뛰지 않는다"고 적은 불변 규칙이다.** 부르는 쪽에서 억제할 성질이 아니다. 답글은 동료가 읽고 판단 근거로 쓰는 협업 산출물이라 그렇게 정해져 있다.
|
|
148
148
|
|
|
149
149
|
### 미니 인터뷰는 건너뛰지 않고 대신 답한다
|
|
150
150
|
|