v0.5.2: dr-translator chunked translation protocol

Root cause: dr-translator was trying to write entire final_zh.md in one
write call, hitting Sonnet 4-6 output token limit for long reports
(~19k English words → ~27k Chinese chars → blown past 32k token cap).

Fix: explicit chunk-and-append protocol
- Split final_en.md by H1 (# ) then H2 (## ) boundaries
- Each chunk ≤ 2,500 English words
- First chunk uses write to create final_zh.md
- Subsequent chunks use edit or read+write to append
- Per-chunk Chinese output kept under ~5,000 characters (safe margin)
- Preserves glossary.json updates across chunks
This commit is contained in:
kai
2026-04-21 23:10:10 +08:00
parent 333b7bb8d5
commit 701bc1887e
18 changed files with 2769 additions and 66 deletions
@@ -147,9 +147,10 @@
]
},
"phase2": {
"status": "in_progress",
"status": "completed",
"started_at": "2026-04-21T05:42:34Z",
"current_batch": 2,
"completed_at": "2026-04-21T09:30:00Z",
"current_batch": 5,
"batches": [
{
"batch": 1,
@@ -233,33 +234,76 @@
},
{
"index": 5,
"status": "pending",
"en_words_quota": 1800
"status": "verified",
"en_words_quota": 1800,
"actual_words": 1701,
"sources_count": 18,
"unverified_count": 2,
"critical_count": 1,
"verified_at": "2026-04-21T07:30:00Z",
"verifier_verdict": "PASS-WITH-NOTES",
"verifier_notes": "Cu PDE calculation needs correction (should use 30 µg/day parenteral); SPAAC above 500g threshold unsupported; non-classical GalNAc displays need acknowledgment"
},
{
"index": 6,
"status": "pending",
"en_words_quota": 1650
"status": "verified",
"en_words_quota": 1650,
"actual_words": 1666,
"sources_count": 15,
"unverified_count": 2,
"critical_count": 1,
"verified_at": "2026-04-21T07:30:00Z",
"verifier_verdict": "PASS-WITH-NOTES",
"verifier_notes": "CRITICAL: ECO scope limited to strand synthesis/ligation, NOT GalNAc conjugation; GT cascade TRL downgraded to 4-5; 'documentation-only gap' claim too strong"
},
{
"index": 7,
"status": "pending",
"en_words_quota": 1500
"status": "verified",
"en_words_quota": 1500,
"actual_words": 1717,
"sources_count": 12,
"unverified_count": 1,
"critical_count": 1,
"verified_at": "2026-04-21T07:30:00Z",
"verifier_verdict": "PASS-WITH-NOTES",
"verifier_notes": "CRITICAL: 3-4 global supplier count needs qualification; Yeasen partial GMP foothold acknowledged; mandatory QC enzyme set framing should be workflow-dependent not compendial"
},
{
"index": 8,
"status": "pending",
"en_words_quota": 1650
"status": "verified",
"en_words_quota": 1650,
"actual_words": 1710,
"sources_count": 15,
"unverified_count": 3,
"critical_count": 1,
"verified_at": "2026-04-21T08:30:00Z",
"verifier_verdict": "PASS-WITH-NOTES",
"verifier_notes": "CRITICAL: C07 LNA claim narrowed — Hongene has LNA catalog; DMF absence is inferred not confirmed. NittoPhase 40% cost claim needs softening. APAC CAGR = 7.43%-15.2% range."
},
{
"index": 9,
"status": "pending",
"en_words_quota": 1200
"status": "verified",
"en_words_quota": 1200,
"actual_words": 1533,
"sources_count": 12,
"unverified_count": 0,
"critical_count": 0,
"verified_at": "2026-04-21T08:30:00Z",
"verifier_verdict": "PASS-WITH-NOTES",
"verifier_notes": "NMPA 2026 FINAL confirmed. Cu parenteral PDE = 300 µg/day confirmed (30 µg/day is inhalation). FDA 'no guidance' needs narrowing. EMA §4.2.2 confirms Q13 but says enzymatic synthesis 'too premature'. BIOSECURE count = 1."
},
{
"index": 10,
"status": "pending",
"en_words_quota": 1350
"status": "verified",
"en_words_quota": 1350,
"actual_words": 1547,
"sources_count": 0,
"sources_cross_chapter": 41,
"unverified_count": 0,
"critical_count": 2,
"verified_at": "2026-04-21T09:15:00Z",
"verifier_verdict": "PASS-WITH-NOTES",
"verifier_notes": "CRITICAL: (1) Ranking criterion must be stated as time-to-revenue not strategic attractiveness to resolve Priority 4 apparent contradiction. (2) GT reuse threshold ≥10 cycles overstated — should be '≥6 cycles demonstrated; commercial target ≥10 cycles'. All three key corrections applied correctly: Cu PDE=300µg/day, ECO=strand-only, GT TRL=5-6."
}
],
"batches_summary": [
@@ -269,14 +313,140 @@
1
],
"completed_at": "2026-04-21T06:00:00Z",
"summary": "Ch1 (1124 words, 10 new sources src_E01-E10, 2 unverified: GalNAc cycle-time claim + 3x QC-enzyme demand inference). 1 CRITICAL: draft overstates unimolecular dual-target superiority vs. cocktail; dr-analyst in Ch2/10 must balance. C05 Wang et al. 2025 JAMA Cardiology PMID 40105833 resolved."
"summary": "Ch1 (1124 words, 10 new sources src_E01-E10, 2 unverified: GalNAc cycle-time claim + 3x QC-enzyme demand inference). 1 CRITICAL: draft overstates unimolecular dual-target superiority vs. cocktail; dr-analyst in Ch2/10 must balance."
},
{
"batch": 2,
"chapters": [
2,
3,
4
],
"completed_at": "2026-04-21T06:33:54Z",
"summary": "Ch2 (1551 words, 18 sources, 0 unverified) — four design paradigms. Ch3 (1586 words, 17 sources) — global pipeline + China velocity. Ch4 (2113 words, 21 sources) — SPPS ceiling + AJIPHASE/CPOS/ECO benchmarks. All verified, no CRITICAL."
},
{
"batch": 3,
"chapters": [
5,
6,
7
],
"completed_at": "2026-04-21T07:30:00Z",
"summary": "Ch5 (1701w, PASS-WITH-NOTES) CRITICAL: Cu parenteral PDE=300µg/day (not 30). Ch6 (1666w, PASS-WITH-NOTES) CRITICAL: ECO=strand-only not GalNAc; GT TRL→4-5. Ch7 (1717w, PASS-WITH-NOTES) CRITICAL: 3-4 supplier count needs per-enzyme caveat; Yeasen partial GMP."
},
{
"batch": 4,
"chapters": [
8,
9
],
"completed_at": "2026-04-21T08:30:00Z",
"summary": "Ch8 (1710w, PASS-WITH-NOTES) CRITICAL: LNA claim narrowed (Hongene has LNA catalog; no DMF is inferred not confirmed). NittoPhase 40% cost softened. Ch9 (1533w, PASS-WITH-NOTES) NMPA 2026 FINAL confirmed. Cu PDE=300µg/day reconfirmed. FDA no general oligo CMC guidance. EMA §4.2.2 confirms Q13."
},
{
"batch": 5,
"chapters": [
10
],
"completed_at": "2026-04-21T09:15:00Z",
"summary": "Ch10 (1547w, PASS-WITH-NOTES) Synthesis chapter: 41 cross-chapter citations, 0 new sources. CRITICAL: (1) Ranking criterion must be explicit (time-to-revenue). (2) GT reuse threshold ≥10 cycles overstated vs Ch6 evidence (4-6 cycles demonstrated). All three key corrections applied correctly."
}
]
},
"phase2_word_stats": {
"total_en_words": 16248,
"target_en_words": 15000,
"min_en_words": 12000,
"ratio": 1.083,
"verdict": "合格 — 16,248 words / target 15,000 words (108.3%)",
"estimated_zh_chars": 22747,
"sources_unique": 44,
"sources_tier1": 14,
"sources_tier2": 25,
"sources_tier3": 5,
"unverified_claims_remaining": 3,
"critical_flags_in_evidence": 10,
"chapter_breakdown": [
{
"ch": 1,
"words": 1124,
"quota": 1050,
"ratio": 1.07
},
{
"ch": 2,
"words": 1551,
"quota": 1500,
"ratio": 1.03
},
{
"ch": 3,
"words": 1586,
"quota": 1500,
"ratio": 1.06
},
{
"ch": 4,
"words": 2113,
"quota": 1800,
"ratio": 1.17
},
{
"ch": 5,
"words": 1701,
"quota": 1800,
"ratio": 0.95
},
{
"ch": 6,
"words": 1666,
"quota": 1650,
"ratio": 1.01
},
{
"ch": 7,
"words": 1717,
"quota": 1500,
"ratio": 1.14
},
{
"ch": 8,
"words": 1710,
"quota": 1650,
"ratio": 1.04
},
{
"ch": 9,
"words": 1533,
"quota": 1200,
"ratio": 1.28
},
{
"ch": 10,
"words": 1547,
"quota": 1350,
"ratio": 1.15
}
]
},
"phase3": {
"status": "pending"
"status": "completed",
"approved": true,
"approved_at": "2026-04-21T08:11:19Z",
"approved_note": "User invoked /dr-finalize; dr-editor-in-chief accepts B rating and will integrate Must-Fix corrections during Phase 4 merge",
"rating": "B",
"critique_path": "projects/dual-target-rnai-pipeline-2026/phase3/critique.md",
"must_fix_items": 5,
"must_fix_addressed_in": "phase4/editorial-notes.md (to be created by dr-editor-in-chief)"
},
"phase4": {
"status": "pending"
"status": "in_progress",
"started_at": "2026-04-21T08:11:19Z",
"stage": "translating",
"merge_completed_at": "2026-04-21T08:17:29Z",
"final_en_words": 19038,
"final_en_path": "projects/dual-target-rnai-pipeline-2026/phase4/final_en.md",
"editorial_notes_path": "projects/dual-target-rnai-pipeline-2026/phase4/editorial-notes.md"
}
}