# Feature Specification: Constrained translation of novel content

**Feature ID**: 005
**Status**: draft

## Overview

Content with no approved prior translation requires a human author for every segment, which is
the throughput ceiling on localizing a release.

## Functional Requirements

- **FR-001** When content contains a term with an agreed rendering, the translator shall use that
rendering.
- **FR-002** When content contains a term designated as never translated, the translator shall
leave the term unchanged.
- **FR-003** While rendering novel content, the translator shall preserve the source structure,
markup, identifiers, and sample code without regenerating them.
- **FR-004** Where a term has no agreed rendering and no approved precedent, the translator shall
record the rendering it chose and the evidence it relied on.
- **FR-005** If a rendering cannot be produced within these constraints, then the translator shall
stop and escalate rather than emit a best guess.
- **FR-006** The translator shall not modify source-language content.


## Acceptance Criteria

- **005-constrained-translation-AC-1** A term with an agreed rendering appears in output with that rendering and no other.
- **005-constrained-translation-AC-2** A never-translate term appears byte-identical in input and output.
- **005-constrained-translation-AC-3** Every rendering in output names the authority behind it: terminology, page title,
approved memory, or fresh.
- **005-constrained-translation-AC-4** Removing an agreed rendering from the terminology authority causes the affected
output to escalate rather than change silently.


## Deferred Edge Cases

- **DEF-1** Register and tone consistency across independently translated pages. Deferred: no
objective measure exists; this remains a reviewer judgement.
- **DEF-2** The renderer is an agent, invoked on demand by the writer making the change.
Decided 2026-10-02: this project has never used a human translator. Every translation has
been produced by an agent and reviewed afterwards by native speakers, so wiring a renderer
formalises the existing practice rather than introducing a new one. Verification is what
the harness adds: an agent is no more trustworthy about a code span or an agreed term than
any other renderer.