genetics-mcp 2.14.0 → 2.15.0
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/bin/aarch64-apple-darwin/gcell +0 -0
- package/bin/aarch64-unknown-linux-musl/gcell +0 -0
- package/bin/manifest.json +4 -4
- package/bin/x86_64-apple-darwin/gcell +0 -0
- package/bin/x86_64-unknown-linux-musl/gcell +0 -0
- package/genetics.mjs +202 -9
- package/package.json +1 -1
- package/skills/gazette-report/README.md +71 -0
- package/skills/gazette-report/SKILL.md +479 -0
- package/skills/gazette-report/scripts/boundary.py +97 -0
- package/skills/gazette-report/scripts/contentdiff.sh +36 -0
- package/skills/gazette-report/scripts/cssaudit.sh +78 -0
- package/skills/gazette-report/scripts/extract.sh +84 -0
- package/skills/gazette-report/scripts/flexcheck.mjs +28 -0
- package/skills/gazette-report/scripts/fontchk.mjs +62 -0
- package/skills/gazette-report/scripts/kcheck.mjs +146 -0
- package/skills/gazette-report/scripts/package.json +5 -0
- package/skills/gazette-report/scripts/pdfcheck.sh +34 -0
- package/skills/gazette-report/scripts/read.mjs +85 -0
- package/skills/gazette-report/scripts/sentbreak.py +142 -0
- package/skills/gazette-report/scripts/tone.mjs +172 -0
- package/skills/gazette-report/scripts/tone.test.mjs +118 -0
- package/skills/gazette-report/scripts/typesurvey.mjs +48 -0
- package/skills/gazette-report/template/README.md +89 -0
- package/skills/gazette-report/template/gazette.css +2120 -0
- package/skills/gazette-report/template/skeleton.html +477 -0
- package/skills/genetics-cell-id/SKILL.md +9 -7
- package/skills/genetics-report/SKILL.md +53 -6
- package/skills/genetics-report/assets/example/cases-briefing.json +32 -0
- package/skills/genetics-report/assets/example/report-briefing.json +271 -0
- package/skills/genetics-report/assets/example/report.json +1 -1
- package/skills/genetics-report/references/content-pipeline.md +20 -0
- package/skills/genetics-report/references/lim-portal-format.md +100 -7
- package/skills/genetics-report/references/process.md +11 -0
|
@@ -166,10 +166,15 @@ python3 assets/render.py <report.json>
|
|
|
166
166
|
| `lang` | `<html lang>`. 모양 검사 후 아니면 `ko` | `ko` |
|
|
167
167
|
| `assets` | 그림. **`role:"logo"` 하나만 실린다**(11절) | 고객사명을 활자로 세운다 |
|
|
168
168
|
|
|
169
|
-
`labels` 로 덮을 수 있는 키(`gazette.py` 의 `self.L(...)` 전량):
|
|
170
|
-
`apx` `as_of` `ask` `bar_alt` `basis` `
|
|
171
|
-
`
|
|
172
|
-
`
|
|
169
|
+
`labels` 로 덮을 수 있는 키(`gazette.py` 의 `self.L(...)` 전량 — 2026-08-27 실측 재대조):
|
|
170
|
+
`apx` `as_of` `ask` `bar_alt` `basis` `board_no` `cause` `check` `client` `closed` `col_evidence`
|
|
171
|
+
`col_grade` `col_ref` `col_ref_sr` `col_state` `col_title` `cta` `doc_no` `fix` `go` `guide`
|
|
172
|
+
`hist` `hist_date` `hist_no` `hist_note` `marg` `nograde` `open` `plate` `plate_src` `pt_ask`
|
|
173
|
+
`refs` `remain` `remain_unit` `source` `source_row` `sum` `symptom` `toc` `urgent`
|
|
174
|
+
|
|
175
|
+
건 필드표의 네 라벨이 `symptom`(증상)·`cause`(원인)·`fix`(조치)·`check`(확인 방법)다 —
|
|
176
|
+
브리핑(§12.3b)은 이 넷을 물음·관찰·판단·재현 방법으로 바꿔 쓴다. `col_evidence` 는 표에
|
|
177
|
+
찍히는 라벨이 아니라 **브리핑 ⚠ 가 찾는 열 이름**이다(§10 — 기본 「근거 등급」).
|
|
173
178
|
|
|
174
179
|
### 3.5 하위 목록의 칸
|
|
175
180
|
|
|
@@ -370,6 +375,9 @@ python3 assets/render.py <report.json>
|
|
|
370
375
|
| `chapters`·`figure`(**최상위 칸**) 는 자리가 없어 | 옛 서식 전용 칸. `assets[].role:"figure"` 와 다른 것이다 |
|
|
371
376
|
| 절 …의 `principles`/`logic` 은 자리가 없어 | 같음 |
|
|
372
377
|
| `wide`/`marg_width` 값이 길이 단위가 아니라 | CSS 값 검사 |
|
|
378
|
+
| 브리핑에 `asks` 절이 없습니다 | `doc_type` 에 「브리핑」이 있는데 결정 요청 절이 없다 — 독자가 할 일이 없는 블로그 글이다(§12.3b) |
|
|
379
|
+
| 권고 「…」에 기한이 없습니다 | `open_items[]` 제목·본문 어디에도 날짜·「까지」·「이내」가 없다 — 기한 없는 권고는 결정을 요청한 것이 아니다 |
|
|
380
|
+
| 브리핑의 표에 「근거 등급」 열이 없습니다 | 어느 `sections[].tables[].cols` 에도 `labels.col_evidence`(기본 「근거 등급」)가 없다 — 옵션 비교표는 근거의 강도를 같이 보여야 한다 |
|
|
373
381
|
|
|
374
382
|
경고가 하나라도 있으면 **그것부터 고친다.**
|
|
375
383
|
경고를 남긴 채 고객에게 링크를 보내지 마라.
|
|
@@ -629,10 +637,10 @@ CSS 로는 못 한다. 우측 판독부에 남는 것은 문서 전체의 사실
|
|
|
629
637
|
수치를 「1차 문헌 미확인」으로 낮춰 적은 것이다. 둘 다 검사기가 못 잡는다 — **도판을 실었으면
|
|
630
638
|
그 도판을 실제로 열어 본문과 대조해라.**
|
|
631
639
|
|
|
632
|
-
## 12. 가르치는 문서
|
|
640
|
+
## 12. 판정 밖의 두 모드 — 가르치는 문서 · R&D 브리핑
|
|
633
641
|
|
|
634
|
-
독자가 **판정**하는 문서(검수 보고)와 **배우는** 문서는 뼈대가 다르다.
|
|
635
|
-
같은 서식, 다른 서사다.
|
|
642
|
+
독자가 **판정**하는 문서(검수 보고)와 **배우는** 문서, **결정하는** 문서는 뼈대가 다르다.
|
|
643
|
+
같은 서식, 다른 서사다. 12.0~12.7 이 가르치는 문서, 12.3b~12.7b 가 브리핑이다.
|
|
636
644
|
|
|
637
645
|
### 12.0 이 절이 생긴 사건
|
|
638
646
|
|
|
@@ -667,9 +675,12 @@ CSS 로는 못 한다. 우측 판독부에 남는 것은 문서 전체의 사실
|
|
|
667
675
|
|---|---|---|
|
|
668
676
|
| 판정한다 (검수·회신·결재) | 검수 보고 | 요약 → 대조표 → 건별 필드표 → 확인 요청 |
|
|
669
677
|
| 배운다 (유지보수·인수·온보딩·사후분석) | **가르치는 문서** | 학습목표 → 원리 → 붕괴 → 처방 → 적용 → 연습 |
|
|
678
|
+
| 결정한다 (도입 여부·옵션 선택·예산·일정) | **R&D 브리핑** | 결론 먼저 → 권고와 기한 → 배경 → 선택지 비교 → 근거 → 하지 않기로 한 것 → 리스크 → 활용 계획 |
|
|
670
679
|
|
|
671
680
|
트리거: 기술보고서 · 인수인계 · 온보딩 문서 · 포스트모템 ·
|
|
672
681
|
「다음 사람이 읽고 이해해야」 · 「왜 이렇게 됐는지 설명하는 문서」.
|
|
682
|
+
브리핑 트리거: R&D 브리핑 · 기술 도입 검토 · 타당성 검토 · 결정 요청서 · 「할지 말지 정해야」 · 「조사한 걸 정리해서 결정하게」.
|
|
683
|
+
브리핑의 신호는 데이터에서 하나다 — **`doc_type` 에 「브리핑」이 들어 있으면** 렌더러가 12.3b 의 셋을 ⚠ 로 센다(§10).
|
|
673
684
|
|
|
674
685
|
### 12.3 서사 공식 — 의존 순서로 가르친다
|
|
675
686
|
|
|
@@ -694,6 +705,36 @@ CSS 로는 못 한다. 우측 판독부에 남는 것은 문서 전체의 사실
|
|
|
694
705
|
「더 좋은 검사를 붙였다」가 아니라 **「그 부류가 존재할 수 없게 했다」**로 처방을 프레임한다.
|
|
695
706
|
적용 사례가 원리를 되짚지 않고 혼자 서면 그것은 본문이 아니라 부록감이다.
|
|
696
707
|
|
|
708
|
+
### 12.3b 브리핑 서사 공식 — 결론이 먼저고, 기각안이 본체다
|
|
709
|
+
|
|
710
|
+
정부 R&D 최종보고서(국가연구개발혁신법 시행규칙 별지 서식)·미 육군 결정문(BLUF)·영국 정부
|
|
711
|
+
Submissions·WHO/SUPPORT 정책 브리프(1:3:25)가 **같은 뼈대**를 요구한다 — 결론이 첫 쪽에, 권고마다 기한,
|
|
712
|
+
선택지는 기각안까지, 근거에는 등급, 앞선 기술에는 성숙도, 마지막은 활용 계획. 관보 문법 위에 그것을 이렇게 놓는다.
|
|
713
|
+
|
|
714
|
+
| 단계 | 역할 | 관보에서 무엇으로 서는가 |
|
|
715
|
+
|---|---|---|
|
|
716
|
+
| 결론 먼저(BLUF) | 결정 요청 한 줄 · 권고 한 줄 · 기한 한 줄 | `cta`(3줄) + `notice.text` + `subtitle` |
|
|
717
|
+
| 권고 | yes/no 로 답할 수 있는 **완전문**. 본문 첫 문장이 기한 | `open_items[]` — `title` 완전문 · `body` 첫 문장 「…까지」 · 최단 기한 하나가 `priority:"must"` |
|
|
718
|
+
| 타이밍 | 회신 기한 · 이 문서의 유효 기간 | `meta` 「회신 기한」 행 · `colophon.mark` 「…까지 유효」 |
|
|
719
|
+
| 배경 | 무엇을 왜 검토했는가 — 요약 4칸 브리핑판 | `summary` 4문단(SKILL.md 4단계) |
|
|
720
|
+
| 선택지 | **기각안 포함** 전 옵션을 같은 축으로 | `kind:"status"` 절 + `tables[]` — 열 8개: 옵션 · 편익 · 해악/비용 · 불확실성 · 이행 장벽 · 성숙도 · **근거 등급** · 권고 강도 |
|
|
721
|
+
| 근거 | 물음 → 관찰 → 판단 → 재현 방법 → 남은 불확실성 | `kind:"cases"` 절. `labels` 로 필드표 라벨을 바꾼다(`symptom`→물음 · `cause`→관찰 · `fix`→판단 · `check`→재현 방법). `grades` = 근거 등급 4단 |
|
|
722
|
+
| 한눈에 | 근거 전체의 강도 대조 | `kind:"status"` 절(대조표) |
|
|
723
|
+
| 하지 않기로 한 것(Non-Goals) | 기각안·범위 밖 — **문단마다 조건 주어 · 이유 · 재검토 시점 · 선택지** | `kind:"note"` 절, `limit_label` 「이번 범위에서 하지 않기로 한 것」 |
|
|
724
|
+
| 리스크 | 권고대로 했을 때의 위험과 완화. 없으면 「해당 없음」과 그 근거 | `kind:"note"` 절 + `tables[]` |
|
|
725
|
+
| 활용 계획 | 결정 뒤 30일·90일에 누가 무엇을 | 마지막 `kind:"note"` 절 |
|
|
726
|
+
| 사전 | 등급 기준 · 확률 어휘 · 성숙도 대응표 · 검증 환경 | `appendix[]` |
|
|
727
|
+
|
|
728
|
+
**분량은 1:3:25 다** — `guide`(1쪽에서 결정) : `summary`+`asks`(3쪽) : `parts` 본문(25쪽) : `appendix`(그 뒤).
|
|
729
|
+
첫 쪽만 읽고 결정할 수 있어야 하고, 본문은 그 결정을 **검증**하러 오는 사람을 위한 것이다.
|
|
730
|
+
|
|
731
|
+
단서 셋.
|
|
732
|
+
- 브리핑은 content-pipeline §4.2 유형 **J(삭제)와 충돌한다** — 검수 보고에서 「채택되지 않은 대안」은 지우지만,
|
|
733
|
+
브리핑에서는 **기각안이 본체**다. 기각안 없는 권고는 근거가 없는 권고다.
|
|
734
|
+
- `grades` 하향 규율은 GRADE 와 같다 — 직접 실험이 아니면 한 단 내리고, 이해관계가 있는 출처면 또 한 단 내린다.
|
|
735
|
+
올려서 적으면 그 한 건이 문서 전체의 신뢰를 깎는다(SKILL.md 2단계).
|
|
736
|
+
- `asks` 절과 `summary` 절은 **한 절씩**이다. 권고가 여러 절에 흩어지면 독자가 무엇을 답해야 하는지 모른다.
|
|
737
|
+
|
|
697
738
|
### 12.4 본문 / 대장 분리
|
|
698
739
|
|
|
699
740
|
**본문은 가르치고, 대장은 참조를 받친다.**
|
|
@@ -719,6 +760,21 @@ CSS 로는 못 한다. 우측 판독부에 남는 것은 문서 전체의 사실
|
|
|
719
760
|
끝에 「N절을 다시 읽을 것」 복습 지침을 단다.
|
|
720
761
|
- `cta` 는 이 문서 전체에서 독자가 지킬 **단 하나의 행동 규칙**이다.
|
|
721
762
|
|
|
763
|
+
### 12.5b `open_items` 의 세 번째 용법 — 권고
|
|
764
|
+
|
|
765
|
+
검수 보고에서는 확인 요청, 가르치는 문서에서는 연습문제, 브리핑에서는 **권고**다.
|
|
766
|
+
|
|
767
|
+
```json
|
|
768
|
+
{"title": "[방식 A] 를 다음 분기에 도입하는 것을 권고함 — 채택 여부 회신 필요.",
|
|
769
|
+
"priority": "must",
|
|
770
|
+
"body": "12월 31일까지 회신 필요. 근거는 §4.1·§4.2, 대안은 §5.1. 채택 시 1월에 검증 환경을 먼저 세움.",
|
|
771
|
+
"refs": ["4.1", "4.2", "5.1"]}
|
|
772
|
+
```
|
|
773
|
+
|
|
774
|
+
- `title` 은 **yes/no 로 답할 수 있는 완전문**. 「도입 검토」 같은 명사구는 무엇을 답하라는 것인지 감춘다.
|
|
775
|
+
- `body` 첫 문장이 **기한**. 없으면 렌더러가 ⚠ 로 센다(§10).
|
|
776
|
+
- 「해야 함」이 아니라 「권고함」. 근거와 대안의 절 번호를 같이 적어 선택을 상대에게 둔다.
|
|
777
|
+
|
|
722
778
|
### 12.6 검수 항목
|
|
723
779
|
|
|
724
780
|
- [ ] 장 순서를 뒤섞어도 문서가 성립하는가?
|
|
@@ -732,6 +788,20 @@ CSS 로는 못 한다. 우측 판독부에 남는 것은 문서 전체의 사실
|
|
|
732
788
|
- [ ] 스타일부터 만지고 있지 않은가?
|
|
733
789
|
**절 구성이 확정되기 전의 CSS 작업은 전부 낭비다**
|
|
734
790
|
|
|
791
|
+
### 12.6b 브리핑 검수 항목 — 반증형
|
|
792
|
+
|
|
793
|
+
하나라도 「예」면 아직 브리핑이 아니다.
|
|
794
|
+
|
|
795
|
+
- [ ] 첫 쪽(`guide`·`cta`·`notice`)만 읽고 yes/no 를 고를 수 **없는가**
|
|
796
|
+
- [ ] 기한이 없는 권고가 있는가
|
|
797
|
+
- [ ] 기각안이 본문(`status` 절 표)에 없고 권고안만 있는가
|
|
798
|
+
- [ ] 「하지 않기로 한 것」 절의 문단 중 조건 주어·이유·재검토 시점·선택지 넷 중 하나가 빠진 것이 있는가
|
|
799
|
+
- [ ] 사실 · 인용 · 우리 판단이 한 문장에 섞여 있는가(등급이 다른 것을 한 문장에 두면 강한 쪽으로 읽힌다)
|
|
800
|
+
- [ ] 「앞선 기술」이라고 적었는데 성숙도(표에 어느 단계인지)가 없는가
|
|
801
|
+
- [ ] 마지막 절이 활용 계획이 아니라 요약이나 감상인가
|
|
802
|
+
- [ ] 부록을 안 읽으면 결정을 못 하는가(그러면 부록이 아니라 본문이다)
|
|
803
|
+
- [ ] 다 읽고 독자가 할 일이 없는가 — 그러면 블로그 글이다
|
|
804
|
+
|
|
735
805
|
### 12.7 근거
|
|
736
806
|
|
|
737
807
|
- **신호 이론(SARA)** — 장치 문법을 일관되게 유지하면 독자가 레이아웃 해석을 멈추고 내용만 해석한다.
|
|
@@ -743,6 +813,29 @@ CSS 로는 못 한다. 우측 판독부에 남는 것은 문서 전체의 사실
|
|
|
743
813
|
- **측정폭** — 긴 행은 시선 복귀 비용이다.
|
|
744
814
|
구체 수치와 한글 글줄 폭 근거는 `gazette-report` 스킬에 있다.
|
|
745
815
|
|
|
816
|
+
### 12.7b 브리핑의 근거 — 어디서 가져온 뼈대인가
|
|
817
|
+
|
|
818
|
+
결정 문서 서식(각 한 줄 귀결).
|
|
819
|
+
- **미 육군 결정문·BLUF**(Army Regulation 25-50 / 정보요약 관행) — 결론을 첫 문장에. 독자는 첫 문장만 읽고 나머지는 검증한다. → `cta` 3줄.
|
|
820
|
+
- **영국 정부 Submissions**(Civil Service 「Writing for ministers」) — 「Issue · Timing · Recommendation · Background · Options · Risks · Handling」. 권고에는 회신 기한이 반드시 붙는다. → `open_items` 기한 ⚠.
|
|
821
|
+
- **WHO/SUPPORT Tools STP13**(Lavis 외, 2009) — 정책 브리프는 1:3:25(요약 1쪽 : 핵심 3쪽 : 본문 25쪽). 옵션마다 편익·해악·비용·불확실성·이행 장벽 다섯 칸. → 옵션 표 8열과 분량 비율.
|
|
822
|
+
- **국가연구개발혁신법 시행규칙 별지 최종보고서 서식** · KISTEP 보고서 표준 — 연구 목표 대비 달성도 · 활용 계획 · 기대 효과가 본문 요소다. 「활용 계획」이 마지막 절인 이유.
|
|
823
|
+
- **Google 설계 문서 관행(Non-Goals)** · Amazon 6-pager · RFC 7322 · ANSI/NISO Z39.18(과학기술보고서 서식) — 「하지 않기로 한 것」은 부록이 아니라 본문 절이며, 이유와 함께 선다.
|
|
824
|
+
|
|
825
|
+
근거의 강도·확률 어휘.
|
|
826
|
+
- **ICD 203**(미 정보공동체 분석 기준) · **Kent 확률 어휘** — 추정에는 확률 어휘 사전이 붙고, 출처의 신뢰도와 정보의 신뢰도를 구분한다. → `appendix` 확률어 사전.
|
|
827
|
+
- **GRADE**(Guyatt 외, 2008) — 근거 등급은 연구 설계에서 시작해 편향·간접성·이해관계로 **하향**한다. → `grades` 하향 규율.
|
|
828
|
+
- **TRL**(NASA 1~9) — 「앞선 기술」에는 성숙도 단계가 붙어야 비교가 된다. → 옵션 표 「성숙도」 열.
|
|
829
|
+
|
|
830
|
+
부정 서술·나쁜 소식 전달(사람·조직·국가를 배제의 주어로 세우지 않는 이유).
|
|
831
|
+
- **Williams(2007) 사회적 배제** · **Baumeister 외(2001) 「Bad is stronger than good」** — 배제·부정 신호는 같은 크기의 긍정보다 크게 작용한다. 배제 서술 하나가 문서 전체의 인상을 정한다.
|
|
832
|
+
- **Bies & Shapiro(1987) 인과적 설명** · **Langer & Rodin(1976) 통제감** — 거절에 이유가 붙으면 부당하다는 판단이 크게 준다. 선택지가 남으면 통제감이 유지된다. → 부정 하나에 원인·기준·재검토·선택지 넷.
|
|
833
|
+
- **SPIKES**(Baile 외, 2000) · **Covello 27/9/3** · **Sandman 위험 소통** — 나쁜 소식은 상대가 아는 것을 먼저 확인하고, 27단어·9초·3요점 안에, 감정과 사실을 분리해 전한다. → 요약 4칸 브리핑판의 순서.
|
|
834
|
+
- **Sherman & Cohen(2002) 자기 확인** — 나쁜 소식 앞에 상대의 가치·성취를 한 문장 확인하면 방어적 해석이 준다. → 「상대가 이미 잘 둔 것 한 문장」.
|
|
835
|
+
- **자기결정이론(Deci & Ryan)** — 「해야 한다」는 자율성을 깎고, 선택지를 남긴 권고는 안 그렇다. → 「권고함 — 선택은 상대에게」.
|
|
836
|
+
- **Google · Microsoft 오류 메시지 지침** — 「무엇이 안 되는가」가 아니라 「무엇을 하면 되는가」를 먼저. 사용자를 주어로 한 부정(「You cannot」)을 피한다. → 조건 주어 규칙(SKILL.md 10번, content-pipeline 유형 K).
|
|
837
|
+
- **IDEO 「How might we」** · **Stokes(2006)** — 제약을 질문으로 바꾸면 선택지가 생긴다. 「[조건]이면 [기준] 때문에 [결과] — [선택지]」 틀의 마지막 칸.
|
|
838
|
+
|
|
746
839
|
---
|
|
747
840
|
|
|
748
841
|
## 13. 판정법 — 어느 서식으로 나가는지 두 곳에서 잰다
|
|
@@ -59,9 +59,11 @@ python3 ~/.claude/skills/genetics-report/assets/render.py report.json
|
|
|
59
59
|
| 읽고 나서 **해야 할 행동**은 무엇인가 | `cta`·`open_items`·건별 `how_to_check` 가 여기서 결정된다 | 「각 건을 한 번씩 열어 확인하고, 남은 판단 사항에 답을 준다」 |
|
|
60
60
|
| 문서에 실어도 되는 **참조 체계**는 무엇인가 | 독자가 확인할 수 없는 참조는 신뢰에 기여하지 않고 노이즈만 된다 | 「본인이 제보한 원본 링크만. 내부 티켓 번호는 안 됨」 |
|
|
61
61
|
| 전달 경로 — 포털 링크인가, 파일 하나인가, 인쇄도 도는가 | 포털은 셸이 문서 둘레에 요약·댓글을 놓는다. 파일 전달은 그것이 없다 | 「포털 링크 + 인쇄 가능해야 함」 |
|
|
62
|
+
| 읽고 나서 **무엇을 결정하는가** — 선택지·우리 권고·기한 | 답이 있으면 「결정한다」 모드다. `open_items` 가 권고가 되고 기한 ⚠ 가 걸린다(lim-portal-format §12.3b) | 「[방식 A] 도입 여부 — 12월 31일까지」 |
|
|
62
63
|
|
|
63
64
|
### 이 답에서 곧바로 정해지는 것
|
|
64
65
|
|
|
66
|
+
- **모드** — 판정한다 / 배운다 / 결정한다 셋 중 하나(SKILL.md 「세 가지 독자」). 결정한다면 `doc_type` 에 「브리핑」을 적어 렌더러 ⚠ 를 켠다.
|
|
65
67
|
- **금지 어휘 목록** — 독자가 검증할 수 없는 내부 어휘와 식별자.
|
|
66
68
|
로컬 렌더라면 `forbid` 정규식으로 적고, 포털 발행이라면 손으로 지킨다(7단계 참조).
|
|
67
69
|
- **PART 구성** — 독자가 바뀌면 읽기 순서가 바뀐다.
|
|
@@ -229,6 +231,9 @@ RANK_TAG = ['live', 'data', 'done', 'soon'] # 배지 종류
|
|
|
229
231
|
3. 여러 건을 관통하는 **공통 원인**이 있다면 그것 — **실재할 때만 쓴다.** 없는데 만들어 내면 그게 이 문서에서 가장 나쁜 슬롭이다
|
|
230
232
|
4. 검토 요청 — 무엇을 봐 주면 되는지
|
|
231
233
|
|
|
234
|
+
「결정한다」 모드에서는 4칸의 내용이 다르다 — 무엇을 언제까지 결정하는가 / 검토한 선택지와 편익·비용·불확실성 /
|
|
235
|
+
우리 권고와 근거의 등급·성숙도 / 결정 뒤 이어지는 것(SKILL.md 4단계 브리핑판).
|
|
236
|
+
|
|
232
237
|
### 요약 근거 게이트 — 발행이 **거절**된다
|
|
233
238
|
|
|
234
239
|
`report_publish.php:260-287` 이 짝을 이룬 두 검사를 건다.
|
|
@@ -494,6 +499,8 @@ RANK_TAG = ['live', 'data', 'done', 'soon'] # 배지 종류
|
|
|
494
499
|
| 본문 전체 | 경어체 잔존 0건인가(`습니다|십시오|합니다|입니다|됩니다|주세요`) |
|
|
495
500
|
| 본문 전체 | 낱말 중간에서 줄이 바뀐 곳이 없는가 |
|
|
496
501
|
| 본문 전체 | 독자가 조회할 수 없는 식별자가 남아 있지 않은가(포털 발행이면 이 그물이 없다 — 여기가 마지막 관문이다) |
|
|
502
|
+
| 본문 전체 | 「A에서 B로」 전환 공식 헤드라인이 없는가 — **기계가 안 잡는다**(SKILL.md 카피 게이트 표) |
|
|
503
|
+
| 본문 전체 | 부정 서술의 주어가 사람·조직·국가가 아닌가 — 기계는 「이유 없는 부정 종결」까지만 잡는다(content-pipeline §6.4) |
|
|
497
504
|
| 부록 | 본문에서 실제로 참조되는 것만 있는가 |
|
|
498
505
|
| 판권지 | 문서가 여기서 닫히는가. 꼬리 카드가 붙어 있으면 구버전이다 |
|
|
499
506
|
| 인쇄 미리보기 | 절마다 새 쪽에서 시작하는가. 표가 쪽 경계에서 잘리지 않는가 |
|
|
@@ -593,6 +600,8 @@ MCP 가 찍는 요약 줄은 **옛 서식의 셈**만 읽는다(`mcp/genetics.mj
|
|
|
593
600
|
배포·티켓·테스트·경로 수 — 전부 「우리 팀이 어떻게 일하는가」이지 「당신 문제가 어떻게 됐는가」가 아니다.
|
|
594
601
|
3. **약한 근거는 숨기지 말고 이름을 붙여 노출한다.**
|
|
595
602
|
최약 등급을 지우는 게 아니라 정의를 달아 보여준다.
|
|
603
|
+
단서 — 노출하는 것은 **우리 근거의 약함**이지 독자의 무력함이 아니다.
|
|
604
|
+
「당신은 못 한다 / 제외된다」는 문장은 이 원리의 적용이 아니라 배제 통보다. content-pipeline §4.2 유형 K 로 고쳐 쓴다.
|
|
596
605
|
|
|
597
606
|
독자가 바뀌면 구조까지 바뀐다.
|
|
598
607
|
|
|
@@ -623,6 +632,8 @@ MCP 가 찍는 요약 줄은 **옛 서식의 셈**만 읽는다(`mcp/genetics.mj
|
|
|
623
632
|
| 12 | 요약면 | `notice`·`bar`·`bar_note`·`stats` | 6 |
|
|
624
633
|
| 13 | 부록·판권지 | `appendix`·`colophon` | 6 |
|
|
625
634
|
| 14 | 고객사 로고 (있으면) | `assets` — `role:"logo"` 하나만 실린다 | 6 |
|
|
635
|
+
| 15 | (브리핑) 권고마다 기한 · 옵션 표 8열 · 「하지 않기로 한 것」 절 · 활용 계획 절 | `open_items[].body` · `sections[].tables` · `note` 절 둘 | 4·6 |
|
|
636
|
+
| 16 | (브리핑) `doc_type` 에 「브리핑」 — 렌더러 ⚠ 셋이 켜진다 | `doc_type` | 0 |
|
|
626
637
|
|
|
627
638
|
건드리지 않는 것: `build.py`·`gazette.py`·`gazette.css`·`sentbreak.py`·`boundary.py`.
|
|
628
639
|
`render.py` 가 사본이 생기면 멈춘다(`FORKABLE`) — 2026-08-18 에 나흘 만에 887줄이 갈라졌고 그동안 고객 문서가 서식 없이 나갔기 때문이다.
|