From 79df1c6c4ec27e59058fab14955076b005198022 Mon Sep 17 00:00:00 2001 From: iacore Date: Fri, 10 Jul 2026 21:05:41 +0800 Subject: [PATCH] Update references to toolkit paths and mpi- skill names --- scripts/proofread-pdf.py | 2 +- skills/mpi-pptx-translate/SKILL.md | 8 ++++---- skills/mpi-terms-search/SKILL.md | 12 ++++++------ .../references/termbase-rebuild.md | 2 +- .../references/translation-alignment.md | 2 +- skills/mpi-translation-review/SKILL.md | 8 ++++---- .../references/proofreading-patterns.md | 2 +- skills/mpi-translation/SKILL.md | 16 ++++++++-------- .../references/proofread-pdf-workflow.md | 4 ++-- skills/readme.dj | 14 +++++++------- 10 files changed, 35 insertions(+), 35 deletions(-) diff --git a/scripts/proofread-pdf.py b/scripts/proofread-pdf.py index 03ba39d..7cb3115 100644 --- a/scripts/proofread-pdf.py +++ b/scripts/proofread-pdf.py @@ -1,5 +1,5 @@ """Compare manuscript (DOCX English body) against typeset (PDF English body). -Usage: python3 scripts/proofread-pdf.py +Usage: python3 toolkit/scripts/proofread-pdf.py Output: sentences from DOCX not found in PDF, and word-level changes within matched sentences. """ import re, sys, subprocess diff --git a/skills/mpi-pptx-translate/SKILL.md b/skills/mpi-pptx-translate/SKILL.md index 89abda4..570b6de 100644 --- a/skills/mpi-pptx-translate/SKILL.md +++ b/skills/mpi-pptx-translate/SKILL.md @@ -12,7 +12,7 @@ Translate `.pptx` files between Chinese and English. Covers the full pipeline: e ### 1. Extract strings to YAML -Run `scripts/extract.py original.pptx strings.yaml`. Produces YAML with entries: +Run `toolkit/scripts/extract.py original.pptx strings.yaml`. Produces YAML with entries: ```yaml - slide: 1 @@ -57,7 +57,7 @@ Scan for: ### 4. Write back with layout fixes -Run `scripts/build.py strings.yaml original.pptx translated.pptx`. +Run `toolkit/scripts/build.py strings.yaml original.pptx translated.pptx`. The script: - Replaces text in matching paragraphs (clears all runs, sets first run) @@ -80,5 +80,5 @@ The absorbed `pptx-translation` skill had alternate script names: `extract_pptx. ## Scripts -- `scripts/extract.py` — extract strings from PPTX to YAML -- `scripts/build.py` — write translations back with font shrink + auto-fit +- `toolkit/scripts/extract.py` — extract strings from PPTX to YAML +- `toolkit/scripts/build.py` — write translations back with font shrink + auto-fit diff --git a/skills/mpi-terms-search/SKILL.md b/skills/mpi-terms-search/SKILL.md index 3ac9570..1eddb12 100644 --- a/skills/mpi-terms-search/SKILL.md +++ b/skills/mpi-terms-search/SKILL.md @@ -6,14 +6,14 @@ category: research # Terms Search -Database: `$MPI_PROJECT_ROOT/terms-search/termlib.duckdb` -CLI: `$MPI_PROJECT_ROOT/terms-search/search.py` -Server: `$MPI_PROJECT_ROOT/terms-search/server.py` +Database: `$MPI_PROJECT_ROOT/toolkit/terms-database/termlib.duckdb` +CLI: `$MPI_PROJECT_ROOT/toolkit/terms-database/search.py` +Server: `$MPI_PROJECT_ROOT/toolkit/terms-database/server.py` ## CLI (preferred) ``` -$MPI_PROJECT_ROOT/terms-search/search.py [limit] +$MPI_PROJECT_ROOT/toolkit/terms-database/search.py [limit] ``` Multi-word queries are ANDed. Searches both `zh` and `en` columns. @@ -32,7 +32,7 @@ Use this inside `execute_code` scripts for batch lookups — no subprocess neede ## HTTP API (use only when CLI is insufficient) -Start: `python3 $MPI_PROJECT_ROOT/terms-search/server.py` (port 8910) +Start: `python3 $MPI_PROJECT_ROOT/toolkit/terms-database/server.py` (port 8910) - `GET /` — plain HTML UI (form + results table, no CSS) - `GET /` — plain HTML UI (form + results table, no CSS) @@ -64,7 +64,7 @@ Errors return `{"error": "..."}` with HTTP 500 (API) or shown inline (UI). ## Direct DuckDB ``` -duckdb $MPI_PROJECT_ROOT/terms-search/termlib.duckdb +duckdb $MPI_PROJECT_ROOT/toolkit/terms-database/termlib.duckdb ``` Key tables: `unified_terms_flat` (zh, en, loc, source), individual source tables, `unified_terms` view. diff --git a/skills/mpi-terms-search/references/termbase-rebuild.md b/skills/mpi-terms-search/references/termbase-rebuild.md index 5fed33e..5b20f84 100644 --- a/skills/mpi-terms-search/references/termbase-rebuild.md +++ b/skills/mpi-terms-search/references/termbase-rebuild.md @@ -112,7 +112,7 @@ duckdb path/to/termlib.duckdb ## Step 4: Create unified views -See `references/unified-view.sql` for the pattern. Key patterns: +See `toolkit/references/unified-view.sql` for the pattern. Key patterns: - `UNION ALL` across all source tables - Normalize column names to `zh`, `en`, `loc` (出处), `source` - For paired-column sheets (e.g., `中文/英文` + `补充内容/英文_1`), emit two UNION branches diff --git a/skills/mpi-terms-search/references/translation-alignment.md b/skills/mpi-terms-search/references/translation-alignment.md index 3be44a3..a5180cd 100644 --- a/skills/mpi-terms-search/references/translation-alignment.md +++ b/skills/mpi-terms-search/references/translation-alignment.md @@ -10,7 +10,7 @@ After producing a first-pass translation, or when the user asks to check termino 1. Read the full translated file. Extract all Chinese terms from `{% "TERM" (pinyin) = ENGLISH ... %}` blocks. -2. Start the search server: `python3 $MPI_PROJECT_ROOT/terms-search/server.py &` (port 8910). It may already be running — check with `curl -s http://localhost:8910/`. +2. Start the search server: `python3 $MPI_PROJECT_ROOT/toolkit/terms-database/server.py &` (port 8910). It may already be running — check with `curl -s http://localhost:8910/`. 3. Batch-search each term via the HTTP API: ``` diff --git a/skills/mpi-translation-review/SKILL.md b/skills/mpi-translation-review/SKILL.md index 5e10c71..e70ae9f 100644 --- a/skills/mpi-translation-review/SKILL.md +++ b/skills/mpi-translation-review/SKILL.md @@ -36,7 +36,7 @@ Switch to self-mode output in that case, but keep a collegial tone. (Other mode only: read the translator's note if present, and address them by name.) 2. Run a three-pass review using the detection rules below. 3. Apply the R1–R14 editorial polish checklist. -4. Check terminology against the terms DB (see `terms-search` skill). +4. Check terminology against the terms DB (see `mpi-terms-search` skill). 5. Verify that every source paragraph maps to a target paragraph with no missing or truncated content. 6. Produce the correct artifact for your mode. @@ -139,7 +139,7 @@ After the three passes, run these final checks. - Record only non-obvious or project-level decisions in `translation-findings.dj`. - After editing, regenerate `bilingual.dj` with - `../../scripts/gen-bilingual.py source.dj target.dj > bilingual.dj` and verify + `../../toolkit/scripts/gen-bilingual.py source.dj target.dj > bilingual.dj` and verify line counts match. ### Other mode @@ -207,7 +207,7 @@ Any DB queries or proposed term changes. for this project's genres. - `references/buddhist-terminology.md` — register and convention notes for Buddhist/Dharma terms. -- `../translation/SKILL.md` — the upstream translation skill that produces the +- `../mpi-translation/SKILL.md` — the upstream translation skill that produces the `target.dj` this skill reviews. -- `../terms-search/SKILL.md` — skill for querying the terms database before and +- `../mpi-terms-search/SKILL.md` — skill for querying the terms database before and during review. diff --git a/skills/mpi-translation-review/references/proofreading-patterns.md b/skills/mpi-translation-review/references/proofreading-patterns.md index 0e68d18..8db00fc 100644 --- a/skills/mpi-translation-review/references/proofreading-patterns.md +++ b/skills/mpi-translation-review/references/proofreading-patterns.md @@ -17,7 +17,7 @@ correspondence, generate `bilingual.dj` directly from the DOCX: 4. Write bilingual.dj The DOCX English is the authoritative target text. No PDF needed. -**Extraction approach**: start by adapting `scripts/gen-bilingual-docx.py`. +**Extraction approach**: start by adapting `toolkit/scripts/gen-bilingual-docx.py`. For articles where the body has strict CN→EN→CN→EN alternation, the simple extraction in that script (CN line, blank, EN line, blank) works directly. diff --git a/skills/mpi-translation/SKILL.md b/skills/mpi-translation/SKILL.md index 095beed..8ac82e5 100644 --- a/skills/mpi-translation/SKILL.md +++ b/skills/mpi-translation/SKILL.md @@ -45,7 +45,7 @@ Quick-find in index: Thầy talks → `"Thích Nhất Hạnh"` + page ≤ 10; te ### Pre-flight accuracy check Before delivering a translation, run through the structured accuracy/readability -taxonomy in `../translation-review/references/common-issues-taxonomy.md`. +taxonomy in `../mpi-translation-review/references/common-issues-taxonomy.md`. Catching these before review saves iteration cycles: - Omission, over-literal renderings, over-free renderings, subject confusion, overtranslation, terminology errors @@ -99,7 +99,7 @@ Read the English aloud — if a sentence can't be spoken in one breath, fix it. These are common patterns (not an exhaustive list). For the full taxonomy with more categories and examples, read -`../translation-review/references/common-issues-taxonomy.md`. +`../mpi-translation-review/references/common-issues-taxonomy.md`. Examples of systematic adjustments: @@ -119,9 +119,9 @@ Examples of systematic adjustments: paper abstract, warm it up. Check against the MB corpus registers for the target genre. 6. **Review-specific calques**. For *人生百问*-style Q&A, check the pattern - tables in `../translation-review/references/translation-pitfalls.md` for recurring + tables in `../mpi-translation-review/references/translation-pitfalls.md` for recurring stiff calques ("keen on," "more ultimate," "choice difficulty," etc.) and - the Buddhist-term register notes in `../translation-review/references/buddhist-terminology.md`. + the Buddhist-term register notes in `../mpi-translation-review/references/buddhist-terminology.md`. Do NOT apply these mechanically — each is a judgment call. A passive may be correct when the agent is unknown; a nominalization may be the right technical @@ -204,7 +204,7 @@ The same words can imply different things in different cultural contexts. Run this self-check before you hand off a first-pass translation. The goal is to catch the most expensive errors while they are still cheap to fix. For the full -post-translation review workflows, load `translation-review` (self mode for your own +post-translation review workflows, load `mpi-translation-review` (self mode for your own translations, other mode for peer review). ### Accuracy @@ -215,7 +215,7 @@ translations, other mode for peer review). - [ ] **No overtranslation**: no parenthetical expansions or explanations not in the source. - [ ] **Terminology**: key Buddhist terms checked against the MPI terms DB - (`terms-search` skill). Consistent within the file. + (`mpi-terms-search` skill). Consistent within the file. - [ ] **Source faithfulness**: no concepts added, no details dropped. ### Readability @@ -246,7 +246,7 @@ When translating guided meditation scripts, exercise guides, or posture instruct ### article-specific scripts -`scripts/proofread-pdf.py` is hardcoded for 佛教徒的人生态度 — body-start +`toolkit/scripts/proofread-pdf.py` is hardcoded for 佛教徒的人生态度 — body-start markers, header patterns, slug regex. Do NOT reuse for other articles. Create article-specific scripts per `references/proofread-pdf-workflow.md`. @@ -257,5 +257,5 @@ Create article-specific scripts per `references/proofread-pdf-workflow.md`. - `references/bilingual-format.md` — bilingual.dj layout: source/target adjacent, blank separator between pairs - `references/diacritics-convention.md` — diacritics rules - `references/proofread-pdf-workflow.md` — pattern for creating article-specific PDF-vs-DOCX comparison scripts -- `../translation-review/references/common-issues-taxonomy.md` (cross-skill) — structured accuracy/readability checklist for pre-flight review +- `../mpi-translation-review/references/common-issues-taxonomy.md` (cross-skill) — structured accuracy/readability checklist for pre-flight review - Baker, Mona. *In Other Words: A Coursebook on Translation*. 2nd ed. Routledge, 2011. — levels of equivalence (word, above-word, grammatical, textual, pragmatic) and non-equivalence strategies. diff --git a/skills/mpi-translation/references/proofread-pdf-workflow.md b/skills/mpi-translation/references/proofread-pdf-workflow.md index e2e6107..ebcb1c0 100644 --- a/skills/mpi-translation/references/proofread-pdf-workflow.md +++ b/skills/mpi-translation/references/proofread-pdf-workflow.md @@ -6,7 +6,7 @@ drift, repositioned phrases, extra content. ## Pattern -The existing `scripts/proofread-pdf.py` is article-specific (hardcoded to +The existing `toolkit/scripts/proofread-pdf.py` is article-specific (hardcoded to 佛教徒的人生态度). For each new article, create a similarly-shaped script: ``` @@ -38,7 +38,7 @@ Hash = `md5('translate-files/
')[:6]` chunk-based matching instead of word-by-word comparison. - Section headers (I, II, III) may be present in DOCX body but filtered from PDF — not real discrepancies. -- The existing `scripts/proofread-pdf.py` is hardcoded for 佛教徒的人生态度. +- The existing `toolkit/scripts/proofread-pdf.py` is hardcoded for 佛教徒的人生态度. Do NOT reuse it for other articles without rewriting the body-start markers and filter patterns. Create article-specific scripts instead. - `git diff --word-diff` fails when one file is multi-line and the other diff --git a/skills/readme.dj b/skills/readme.dj index 1b79e2d..d8a4680 100644 --- a/skills/readme.dj +++ b/skills/readme.dj @@ -9,7 +9,7 @@ Add to `~/.hermes/config.yaml`: ```yaml skills: external_dirs: - - $MPI_PROJECT_ROOT/skills + - $MPI_PROJECT_ROOT/toolkit/skills ``` {% Edit config.yaml directly — `hermes config set` stores list values as strings. %} @@ -18,9 +18,9 @@ skills: | Name | What it does | |---|---| -| `translation` | Translate Chinese↔English Buddhist/Dharma content | -| `terms-search` | Full-text search across MPI term database | -| `translation-review` | Review translations for quality issues | -| `chinese-text-normalize` | Normalize Chinese markdown line breaks | -| `pptx-translate` | Translate PowerPoint files | -| `pdf-to-docx-conversion` | Convert PDFs to DOCX with layout preservation | +| `mpi-translation` | Translate Chinese↔English Buddhist/Dharma content | +| `mpi-terms-search` | Full-text search across MPI term database | +| `mpi-translation-review` | Review translations for quality issues | +| `mpi-chinese-text-normalize` | Normalize Chinese markdown line breaks | +| `mpi-pptx-translate` | Translate PowerPoint files | +| `mpi-pdf-to-docx-conversion` | Convert PDFs to DOCX with layout preservation |