docs(14.2.1): capture phase context
This commit is contained in:
@@ -0,0 +1,78 @@
|
||||
# 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 `mlmarkdown` shares 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`)
|
||||
Reference in New Issue
Block a user