docs(state): record 04-02 completion and advance to plan 03
Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
@@ -30,7 +30,7 @@ Requirements for v1 (the Płytarium port). Each maps to roadmap phases. "User" b
|
||||
|
||||
### Internationalization and mail (I18N)
|
||||
|
||||
- [ ] **I18N-01**: Translation keys use `vendor.plugin::group.key`, load from per-plugin per-locale YAML files, support parameters and CLDR plurals (go-i18n) for pl and en
|
||||
- [x] **I18N-01**: Translation keys use `vendor.plugin::group.key`, load from per-plugin per-locale YAML files, support parameters and CLDR plurals (go-i18n) for pl and en
|
||||
- [ ] **I18N-02**: Locale is resolved per request from the user's persisted preferred_locale with header fallback, and the locale endpoints stay reachable while the must-change-password lock is active
|
||||
- [ ] **I18N-03**: Plugins register mail templates and layouts by dotted name with the per-locale suffix convention, rendered with html/template and sent through a driver interface (SMTP via go-mail)
|
||||
|
||||
@@ -169,7 +169,7 @@ Which phases cover which requirements. Updated during roadmap creation.
|
||||
| CLI-04 | Phase 11 | Pending |
|
||||
| CLI-05 | Phase 14 | Pending |
|
||||
| CLI-06 | Phase 11 | Pending |
|
||||
| I18N-01 | Phase 4 | Pending |
|
||||
| I18N-01 | Phase 4 | Complete |
|
||||
| I18N-02 | Phase 7 | Pending |
|
||||
| I18N-03 | Phase 4 | Pending |
|
||||
| DATA-01 | Phase 3 | Complete |
|
||||
|
||||
@@ -159,7 +159,7 @@ Plans:
|
||||
|
||||
**Wave 2** *(blocked on Wave 1 completion)*
|
||||
|
||||
- [ ] 04-02-PLAN.md — Load namespaced translations, plurals, parameters and locale fallbacks
|
||||
- [x] 04-02-PLAN.md — Load namespaced translations, plurals, parameters and locale fallbacks
|
||||
|
||||
**Wave 3** *(blocked on Wave 2 completion)*
|
||||
|
||||
@@ -367,7 +367,7 @@ Phases execute in numeric order: 1 → 2 → 3 → 4 → 5 → 6 → 7 → 8 →
|
||||
| 1. Framework kernel foundation | 4/4 | Complete | 2026-09-16 |
|
||||
| 2. API parity harness bootstrap | 5/5 | Complete | 2026-09-17 |
|
||||
| 3. First vertical slice — genres end to end | 4/4 | Complete | 2026-09-17 |
|
||||
| 4. CLI scaffolding, i18n and mail | 1/4 | In Progress| |
|
||||
| 4. CLI scaffolding, i18n and mail | 2/4 | In Progress| |
|
||||
| 5. Data layer full fidelity | 0/TBD | Not started | - |
|
||||
| 6. HTTP routing, auth groups and rate limiting | 0/TBD | Not started | - |
|
||||
| 7. User plugin and authentication | 0/TBD | Not started | - |
|
||||
|
||||
@@ -3,14 +3,14 @@ gsd_state_version: 1.0
|
||||
milestone: v1.0
|
||||
milestone_name: milestone
|
||||
status: executing
|
||||
stopped_at: Completed 04-01-PLAN.md
|
||||
last_updated: "2026-09-18T11:42:23.658Z"
|
||||
stopped_at: Completed 04-02-PLAN.md
|
||||
last_updated: "2026-09-18T11:54:02.503Z"
|
||||
last_activity: 2026-09-18
|
||||
progress:
|
||||
total_phases: 15
|
||||
completed_phases: 3
|
||||
total_plans: 17
|
||||
completed_plans: 14
|
||||
completed_plans: 15
|
||||
percent: 20
|
||||
---
|
||||
|
||||
@@ -26,11 +26,11 @@ See: .planning/PROJECT.md (updated 2026-09-16)
|
||||
## Current Position
|
||||
|
||||
Phase: 04 (cli-scaffolding-i18n-and-mail) — EXECUTING
|
||||
Plan: 2 of 4
|
||||
Plan: 3 of 4
|
||||
Status: Ready to execute
|
||||
Last activity: 2026-09-18
|
||||
|
||||
Progress: [████████░░] 82%
|
||||
Progress: [█████████░] 88%
|
||||
|
||||
## Performance Metrics
|
||||
|
||||
@@ -59,6 +59,7 @@ Progress: [████████░░] 82%
|
||||
| Phase 03 P03-03 | 8 min | 2 tasks | 17 files |
|
||||
| Phase 03 P03-04 | 15 min | 2 tasks | 15 files |
|
||||
| Phase 04 P01 | 11 min | 3 tasks | 14 files |
|
||||
| Phase 04 P04-02 | 10 min | 3 tasks | 11 files |
|
||||
|
||||
## Accumulated Context
|
||||
|
||||
@@ -105,6 +106,9 @@ Recent decisions affecting current work:
|
||||
- [Phase 04]: registry.gen.go is regenerated by scanning Code generated by summer make files, not by rewriting plugin.go — D-12: handwritten plugin.go stays byte-identical; existing plugins get a one-time accessor hint
|
||||
- [Phase 04]: make:model table names are vendor_plugin_plural_snake with explicit gormigrate CREATE/DROP TABLE — D-13: timestamps on the model; --no-migration omits only the create-table file
|
||||
- [Phase 04]: models sibling-import check runs in build.App before go build and reports plugin ID, file, and import — D-11: limited to classes/controllers/console/jobs/middleware/updates of the same plugin module
|
||||
- [Phase 04]: go-i18n is used only to choose a CLDR category label; YAML message text never enters its template engine — D-03: PHP :name placeholders must remain literal
|
||||
- [Phase 04]: A per-locale i18n.Bundle is cached so matcher/plural rules follow the requested tag, not the English default bundle — A single English default bundle made Polish few/many look invalid
|
||||
- [Phase 04]: Fallback order is requested, parent, app.fallback_locale, then the raw key; framework defaults remain en/en — D-04 D-05: no Polish framework default and no extra core-locale step
|
||||
|
||||
### Pending Todos
|
||||
|
||||
@@ -126,6 +130,6 @@ Items acknowledged and carried forward from previous milestone close:
|
||||
|
||||
## Session Continuity
|
||||
|
||||
Last session: 2026-09-18T11:42:10.258Z
|
||||
Stopped at: Completed 04-01-PLAN.md
|
||||
Last session: 2026-09-18T11:53:44.731Z
|
||||
Stopped at: Completed 04-02-PLAN.md
|
||||
Resume file: None
|
||||
|
||||
Reference in New Issue
Block a user