---
name: transliteration
description: Stage 7 transliteration skill — generate deterministic transliteration for Greek text according to one explicit repo-wide standard and verify consistency across reruns.
allowed-tools: Bash(find:*), Bash(ls:*), Bash(jq:*), Bash(go:*), Bash(python3:*), Bash(git:*), Read, Write, Edit, Grep, Glob
---

# Transliteration (Stage 7 Transliteration)

Generate deterministic transliteration for one target Greek text.

This skill is the **Stage 7 owner** for transliteration.
It should answer:
- what transliteration standard is being applied?
- was it applied consistently?
- is the output deterministic across reruns?
- what downstream reader checks must rerun because transliteration changed?

It does **not** own:
- morphology generation
- Stage 8 gloss generation
- reader verification
- ship promotion

## Quick Status

Interlinear dirs: !`find ${LYCEUM_TEXTS_DIR:-output/texts} -path '*/interlinear' -type d 2>/dev/null | wc -l`
Transliteration stage definitions: !`grep -n "StageTransliteration" internal/textpipeline/textpipeline.go 2>/dev/null | wc -l`

## Commands

- `/transliteration run [work]` — Generate or refresh transliteration artifacts
- `/transliteration validate [work]` — Verify transliteration consistency against the repo standard
- `/transliteration status [work]` — Summarize transliteration outputs, standard, and downstream invalidations

Target: $ARGUMENTS

---

## Owned Responsibilities

### Owns
- deterministic transliteration generation
- explicit transliteration-standard application
- transliteration QA reporting
- recording downstream invalidations when transliteration changes

### Does not own
- morphology or syntax generation
- reader/browser verification
- Stage 8 evaluation

---

## Standard Requirements

The transliteration standard must handle consistently:
- accents
- breathings
- iota subscript
- diphthongs
- punctuation
- elision/editorial marks

### Important rule
The same Greek token should not transliterate differently across reruns unless the standard itself changed.

---

## Workflows

## `/transliteration run`

Generate transliteration output for the target text.

### Output should record
- the standard/version applied
- input Greek artifact scope
- generated transliteration artifact(s)
- notes on any unresolved edge cases

---

## `/transliteration validate`

Verify transliteration quality.

### Check for
- consistency of repeated forms
- correct handling of diacritics and breathings
- deterministic rerun behavior
- punctuation/editorial mark handling

### Important note
Changing transliteration rules should invalidate Stage 9 and Stage 10, but not necessarily Stage 6.

---

## `/transliteration status`

Summarize:
- transliteration artifact availability
- standard applied
- validation result
- whether `reader-reliability` must rerun

---

## Outputs

### Canonical outputs
```text
$LYCEUM_TEXTS_DIR/<slug>/
├── interlinear/
├── qa/
├── state.json
└── replay/stage-history.json
```

### Expected outputs
- transliteration artifact(s)
- transliteration QA report

---

## Verification Contract

This skill follows the Stage 7 contract from `docs/text-pipeline-skill-verification-2026-03-13.md`.

### Verify
- transliteration follows the chosen repo standard
- handling of breathings/accents/iota-subscript/diphthongs is consistent
- output is deterministic across reruns

### Minimum evidence
- transliteration artifact
- transliteration QA report

### Pass criteria
- sampled forms match the standard exactly
- rerunning without source changes produces identical output
- editorial marks and punctuation are handled consistently

### Failure examples
- same token transliterates differently across contexts without rule justification
- diacritics are dropped inconsistently
- output changes unexpectedly across identical reruns

### Required next steps
After successful transliteration:
- rerun `reader-reliability` for transliteration toggle behavior
- record downstream invalidations in state/history

---

## Verification

After completing this stage, run the automated verification script:

```bash
bash scripts/verify_stage_7.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 |
|---|---|
| `docs/text-pipeline-master-plan-2026-03-13.md` | Canonical Stage 7 requirements |
| `internal/textpipeline/textpipeline.go` | Invalidation rules involving transliteration |
| `docs/text-pipeline-skill-architecture-2026-03-13.md` | Ownership and command surface |
| `docs/text-pipeline-skill-verification-2026-03-13.md` | Verification contract |
