Locale Phase 1: output_language_pair contract and provisional es-ES ownership record
Author: Imbad0202Created Sep 13, 2026Updated Sep 16, 2026
Labelsenhancement
Follow-up to #850 (closed as completed). This issue carries two things: the Phase 1 design sketch for the output-language pair, and the provisional es-ES ownership record.
Phase 1 scope (from the maintainer's acceptance spec on #850)
A default-preserving abstract-pair refactor:
- a new
shared/output_language_pair.mdcontract with the current pair (English + Traditional Chinese) as the default; - the per-run field in
shared/handoff_schemas.md(Schema 4), with legacy serialized fields preserved; - consumers updated:
academic-paper/SKILL.md,intake_agent.md,abstract_bilingual_agent.md,structure_architect_agent.md,formatter_agent.md,references/abstract_writing_guide.md,references/workflow_phase_details.md,references/mode_selection_guide.md,templates/bilingual_abstract_template.md,commands/ars-abstract.md; - an unsupported-pair value that fails visibly rather than silently falling back;
- a lint in
scripts/check_spec_consistency.pywith tests; - a fixture under
tests/fixtures/output_language_pair/covering omitted, default, and unsupported values; - CHANGELOG entry.
Acceptance criterion: byte-equivalent behaviour when the field is absent.
Process: post the design sketch here first. The schema change is agreed on this issue before any PR opens. Out of Phase 1 scope (deferred, see #850 answer 2): citation-guide mapping, example sets, fonts. Trigger phrases are their own track (#856).
Provisional es-ES ownership record
Per the CONTRIBUTING.md amendment in #863:
- Primary owner (provisional): @didacrios, pending explicit acceptance of the locale-pack responsibilities on this issue once the amendment merges.
- Backup owner: not yet named.
- Status: provisional application. Not a supported pack until two owners have accepted and the pack carries current validation evidence.
- Backup deadline: opens with the first minor release after both (a) Phase 1 has shipped and (b) primary ownership is confirmed here. The release that ships Phase 1 does not count. The maintainer records the qualifying release and the 14-day deadline on this issue when that release is tagged.
- If the window closes without a backup: the application lapses. Reapplication requires two accepted owners and current evidence.
Related
- #850 design discussion and the four answers
- #861 locale-pack policy
- #855 es-ES README (merged), #856 es-ES trigger phrases (open)
Source: Imbad0202/academic-research-skills