2.6 KiB
Phase 14.2.1: Translate plugin - Discussion Log
Audit trail only. Do not use as input to planning, research, or execution agents. Decisions are captured in CONTEXT.md — this log preserves the alternatives considered.
Date: 2026-10-06 Phase: 14.2.1-translate-plugin Areas discussed: PHP source of truth, what ships, model API, where it boots
PHP source of truth
| Option | Description | Selected |
|---|---|---|
Fonoteka pin 725d547 |
Newest Płytarium checkout | ✓ |
grzyby pin 6e0c146 |
Older ancestor | |
| GitHub master at plan time | Moving target |
User's choice: Freeze at 725d547, read from the Fonoteka path. Read-only with the same urgent-upgrade re-pin rule as Journal.
What ships
| Option | Description | Selected |
|---|---|---|
| Lean: Locale + TranslatableModel | Unblocks Journal | ✓ |
| Lean plus Messages catalogue | Extra admin | |
| Full PHP surface | Picker, AI/theme, import/export |
User's choice: Lean. Cabana mltext/mlmarkdown. PHP Translator resolution (URL prefix / session / cookie / default). Seed en+pl.
Model API
| Option | Description | Selected |
|---|---|---|
Translatable() []string like PHP $translatable |
Journal copies the PHP list | ✓ |
| YAML-only; models unaware | ||
| Same Winter attribute tables | Cutover-compatible | ✓ |
| JSON column per field | Breaks Winter import | |
| Fallback to default locale | PHP behaviour | ✓ |
Minimum API (WithLocale, get/set, Translator) |
Enough for Journal | ✓ |
| 1:1 every PHP method |
User's choice: PHP-like declaration, same tables, PHP fallback, minimum exported API.
Where it boots
| Option | Description | Selected |
|---|---|---|
Same sm-grzybyfunkcjonalne-app |
Matches Phase 15 D-21 | ✓ |
| In-module testhost | ||
User creates sm-translate-plugin remote |
Does not exist yet | ✓ |
| Sibling checkout | summercms/sm-translate-plugin/ |
✓ |
| Proof: Locales admin + fixture en+pl | ✓ | |
| Plugin tests only |
User's choice: Grzyby host with user+translate. User creates the public remote. Proof is boot + Locales admin + fixture model.
Claude's Discretion
- Exact table/column names from frozen PHP updates
- ML field identifiers and docs/OpenAPI/
dist/bundling - How
mlmarkdownshares work with Phase 15 markdown - Plan count and split
- Security-review agent
Deferred Ideas
- Messages admin, CMS locale components, AI/theme commands
- ROADMAP Phase 15 depends_on should include 14.2.1 (
$gsd-phase --edit 15)