Assemble bilingual office parts from referenced text #104

Closed
opened 2026-07-01 00:54:07 +00:00 by manlycucumber · 1 comment
manlycucumber commented 2026-07-01 00:54:07 +00:00 (Migrated from github.com)

Problem

Given the resolved office-part structure, the assembler must fetch Latin and English strings for each part and produce a paired bilingual rendering.

Acceptance criteria

  • Each office part is rendered with paired Latin and English text
  • Missing-translation parts are flagged, not silently dropped
  • Output preserves the resolved part order
  • Unit tests cover a fully and a partially translated part

Notes

Provenance must travel with each assembled string.

## Problem Given the resolved office-part structure, the assembler must fetch Latin and English strings for each part and produce a paired bilingual rendering. ## Acceptance criteria - [ ] Each office part is rendered with paired Latin and English text - [ ] Missing-translation parts are flagged, not silently dropped - [ ] Output preserves the resolved part order - [ ] Unit tests cover a fully and a partially translated part ## Notes Provenance must travel with each assembled string.

Done in fd26918 (Stage 3 — assemble the office-structure tree) and 70f3133 (Stage 4a — per-office proper-text store).

ACs, against tests/Office/OfficeAssemblerTest.php:

  • Each part rendered with paired Latin and English ✓ — testAssemblesTheWholeTreeDispatchingOnEachReferenceKind
  • Missing-translation parts flagged, not silently dropped ✓ — testWithheldLeafIsAssembledWithNoValue asserts availability: licence-required with no value; a part lacking Latin fails closed outright (testAPartWhoseTextLacksLatinFailsClosed)
  • Output preserves resolved part order ✓ — hours in Hour::values order, parts in seq order, per OfficeStructure
  • Unit tests cover a fully and a partially translated part ✓
Done in `fd26918` (Stage 3 — assemble the office-structure tree) and `70f3133` (Stage 4a — per-office proper-text store). ACs, against `tests/Office/OfficeAssemblerTest.php`: - Each part rendered with paired Latin and English ✓ — `testAssemblesTheWholeTreeDispatchingOnEachReferenceKind` - Missing-translation parts flagged, not silently dropped ✓ — `testWithheldLeafIsAssembledWithNoValue` asserts `availability: licence-required` with no `value`; a part lacking Latin fails closed outright (`testAPartWhoseTextLacksLatinFailsClosed`) - Output preserves resolved part order ✓ — hours in `Hour::values` order, parts in `seq` order, per `OfficeStructure` - Unit tests cover a fully and a partially translated part ✓
Sign in to join this conversation.
No milestone
No project
No assignees
2 participants
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
Directorium/Core#104
No description provided.