Translation witness
Skill lyceum-quest/orchestrator/.pi/skills/translation-witness
Skill pipeline to help agents find and augment Ancient Greek texts from scratch
npx -y skills add lyceum-quest/orchestrator --skill translation-witnessAssembled from the repository path, not quoted from the project. Check it against their README if it does not work.
One thing to look at
- 2 stars2 stars. Stars are a popularity signal and not a quality one, but at this level it is likely that nobody has read this closely except its author, and you would be relying on your own review.
What its author says it does
Copied from the file, not written here
Stage 5 witness-collection skill — gather, normalize, and catalog PD English translations as reference material for adversarial review and interlinear work. Witnesses are never alignment targets; they are displayed in the reader without structural modification.
SKILL.md
12.1 KB, as published. Nobody here has run it
Translation Witness (Stage 5 Reference Material Collection)
Collect and normalize PD English translations as reference material for one target text.
This skill is the Stage 5 owner for witness collection.
Critical Policy
Witnesses are NEVER alignment targets. Witnesses are NEVER versified.
Existing PD translations serve as:
- Adversarial comparison material during Stage 6a translation generation
- Contextual sense disambiguation for Stage 8 interlinear work
- Optional display alternatives in the reader (shown as-is, without structural modification)
Witnesses are NOT:
- Targets for DP alignment
- Targets for range alignment
- Targets for direct mapping
- Structurally modified to fit Greek segmentation
- Versified or given verse-aligned editions in the DB
Row view is unavailable for witnesses. Only versified (generated) translations can render in row view, because row view requires 1:1 structural correspondence with Greek. Witnesses have arbitrary structure.
The generated translation (Stage 6a) is always the primary English content. Witnesses are supplementary reference material.
Reference-preserving import (Path A)
Witnesses that carry native reference markers matching the Greek reference system may be imported as reader-display editions. This is not structural modification — it is parsing what the witness already provides.
Supported import formats (set in catalog format field):
ref-text-tsv—BookName Chapter:Verse\tText(e.g., John witnesses)ref-bracket-prose—[ref] textwith optional headers/comments (e.g., Perrin, Farquharson)structured-json—{"segments": [{"ref":"...", "text":"..."}]}(e.g., Hymn witnesses)chapters-json— legacy{"chapters": {"1": [{"verse":1, "text":"..."}]}}format
Import is blocked (with a warning) if <50% of witness references match Greek references (direct or parent-prefix match).
What is NOT permitted
- Forcing alignment on witnesses that lack native reference markers
- Splitting or merging witness segments to match Greek granularity
- Creating new reference systems that don't exist in the source text
Quick Status
Witness dirs: !find ${LYCEUM_TEXTS_DIR:-output/texts} -path '*/witnesses' -type d 2>/dev/null | wc -l
English candidate catalogs: !find ${LYCEUM_TEXTS_DIR:-output/texts} -path '*/sources/english_candidates.json' 2>/dev/null | wc -l
Commands
/translation-witness gather [work]— Normalize the available English witness sources into comparable artifacts/translation-witness classify [work]— Classify witness usefulness by role (adversarial comparison, glossing, display)/translation-witness select [work]— Choose primary witnesses for each downstream use case/translation-witness status [work]— Summarize witness coverage and role assignments
Target: $ARGUMENTS
Owned Responsibilities
Owns
- PD English witness collection and normalization
- Literalness and quality notes per witness
- Role classification (adversarial, glossing, display)
- Witness catalog with provenance
Does not own
- Translation generation (Stage 6a — translation-synthesis)
- Structural alignment of any kind (Stage 6b — versify)
- Interlinear/gloss generation (Stage 8)
- Source acquisition beyond English witnesses (Stages 1-4)
Witness Role Classes
Each witness should be classified for its usefulness in one or more roles.
These are values for the roles array field in catalog.json (e.g. "roles": ["adversarial-comparison", "reader-display"]):
adversarial-comparison
- Literal enough to catch errors in the generated translation
- Follows Greek meaning closely (even if style is awkward)
- Useful for detecting mistranslations, hallucinations, omissions
- Primary role — at least one witness must qualify
glossing-reference
- Useful for contextual sense disambiguation in Stage 8
- May have good vocabulary choices that inform gloss selection
- Doesn't need to be structurally aligned
reader-display
- Suitable as an optional literary/idiomatic alternative in the reader
- Displayed as-is without structural modification
- May segment differently than Greek (that's acceptable for display)
versification-candidate
- Witness has native reference markers that match the Greek reference system (same scheme, same granularity)
- Witness segment count is within 10% of Greek segment count (after sub-segmentation, if applicable)
- Witness is literal enough for learner use — not a loose paraphrase or literary adaptation
- Witness is public domain
- Witness text is complete (no missing chapters or sections)
A versification-candidate witness may be directly versified by Stage 6 without generating a new translation. This is the fast path: if automated versification succeeds (100% coverage, 1:1 mapping with Greek segments), the witness becomes the versified edition and Stage 6a generation is skipped entirely.
Criteria that disqualify a witness from this role:
- Reference system doesn't match Greek (e.g., different chapter/verse numbering)
- Segment count diverges by >10% from Greek
- Translation is too literary/paraphrastic (e.g., Pope's Iliad)
- Translation merges or splits segments relative to Greek structure
- Incomplete coverage
A witness can hold versification-candidate alongside other roles (e.g., adversarial-comparison).
limited-use
- Available but not strongly useful for any of the above
- Document why (too paraphrastic, incomplete, etc.)
Important note
This classification replaces the old "alignment fitness" classification (direct-match, DP-alignable, range-only, unsuitable). Those categories are obsolete — we no longer align witnesses.
Workflows
/translation-witness gather
Collect and normalize available PD English translations.
For each witness, record
- Source identity and URL
- Translator and edition metadata
- Publication year and license/PD status
- Literalness notes (how closely it follows Greek)
- Structural notes (how it segments — informational only)
- Quality notes (readability, completeness)
Output location
$LYCEUM_TEXTS_DIR/<slug>/
├── witnesses/
│ ├── perrin-1919.txt
│ ├── long-1862.txt
│ └── ...
├── sources/
│ └── english_candidates.json
Witness file format
Preserve the witness text as-is. Do not force it into Greek segmentation. Include metadata header if useful, but the text should be readable.
/translation-witness classify
Classify each witness by role usefulness.
Evaluation criteria
For adversarial-comparison:
- How literal is the translation?
- Does it preserve Greek word order when possible?
- Does it translate idioms literally or paraphrase?
- Can it catch generated translation errors?
For glossing-reference:
- Does it have good English equivalents for Greek terms?
- Is vocabulary consistent?
- Could it inform word-level gloss choices?
For reader-display:
- Is it readable and natural English?
- Is it complete (no major omissions)?
- Would users find it valuable as an alternative view?
Output
Add classification to witness catalog (schema v2):
{
"schema_version": 2,
"work": "work-slug",
"witnesses": [
{
"id": "perrin-1919",
"title": "Perrin (1919)",
"translator": "Bernadotte Perrin",
"year": 1919,
"license": "Public Domain",
"file": "perrin-1919.txt",
"format": "ref-bracket-prose",
"roles": ["adversarial-comparison", "reader-display"],
"literalness": "moderately literal",
"notes": "..."
}
]
}
Catalog schema v2 rules:
file: single string, relative towitnesses/dir (nofiles.json/local_filevariants)format: one ofref-text-tsv,ref-bracket-prose,structured-json,chapters-jsonroles: flat[]string(not nested objects)title: required — used as edition label in the reader
/translation-witness select
Assign witnesses to roles for downstream use.
Required selections
- Adversarial comparison (Stage 6a): At least one witness must be selected. This is mandatory — Stage 6a cannot proceed without a comparison witness.
- Glossing reference (Stage 8): Optional but recommended. Multiple witnesses improve confidence.
- Reader display: Optional. Include if witness adds value for users.
If no suitable adversarial witness exists
- Document the gap explicitly
- Stage 6a can still proceed, but generated translation confidence is lower
- Consider gathering additional witnesses or proceeding with caution
/translation-witness status
Summarize current state.
Report includes
- Witnesses collected
- Role classifications
- Whether adversarial-comparison witness exists
- Whether Stage 6a and Stage 8 have sufficient reference material
- Gaps or concerns
Reader Display Policy
Witnesses selected for reader-display are shown in the Lyceum reader as-is, without structural modification.
What this means
- The witness text keeps its original segmentation
- It may not align 1:1 with Greek segments
- The reader may display it in a side panel or expandable section
- It is clearly labeled as the translator's work (e.g., "Perrin 1919")
What we do NOT do
- Force witnesses into verse-by-verse alignment with Greek
- Run DP/range alignment to create pseudo-aligned witnesses
- Split or merge witness segments to match Greek
- Create "verse-aligned" versions of literary translations
The generated translation (Stage 6a) provides the verse-aligned English. Witnesses provide context and alternatives.
Priority Texts
Texts where multiple witnesses improve confidence:
| Text | Recommended witnesses |
|---|---|
| Homer (Iliad/Odyssey) | Murray, Butler, additional if available |
| Meditations | Long, Haines |
| Anabasis | Brownson, Dakyns |
| Apology | Jowett, Fowler |
| John | OpenGNT, ASV, KJV as secondary |
Verification Contract
This skill follows the Stage 5 contract.
Verify
- Witness catalog exists with provenance
- Each witness has
rolesarray with at least one classification - At least one adversarial-comparison witness exists (or gap documented)
- Witnesses are preserved as-is (not structurally modified)
Minimum evidence
- Witness files under
witnesses/ - Witness catalog with
rolesassignments - Classification report
Pass criteria
- Provenance recorded for each witness
- Role assignments explicit and justified
- Adversarial-comparison witness available for Stage 6a
- No attempts to align or modify witness structure
Failure examples
- Witnesses collected but roles not assigned
- No adversarial-comparison witness and gap not documented
- Witness text modified to fit Greek structure
- Alignment fitness classified (obsolete pattern)
Required next steps
After witness collection:
/translation-synthesis run <work>to generate the verse-aligned translation- Witnesses used for adversarial comparison during generation
Verification
After completing this stage, run the automated verification script:
bash scripts/verify_stage_5.sh "${SLUG}"
Exit codes: 0=PASS (advance), 1=FAIL (block), 2=WARN (advance with notes). The orchestrator runs this automatically; when executing manually, check the output for [FAIL] or [WARN] lines.
Key Files
| File | Purpose |
|---|---|
$LYCEUM_TEXTS_DIR/<slug>/witnesses/ | Witness text files |
$LYCEUM_TEXTS_DIR/<slug>/sources/english_candidates.json | Witness catalog |
.pi/skills/translation-synthesis/SKILL.md | Stage 6a (uses witnesses for comparison) |
.pi/skills/versify/SKILL.md | Stage 6b (validates generated translation) |
docs/text-pipeline-master-plan-2026-03-13.md | Pipeline architecture |
docs/reader-reliability-and-translation-accuracy-charter-2026-03-13.md | Multi-witness motivation |