docs(phase-4): evolve PROJECT.md after phase completion
This commit is contained in:
@@ -19,7 +19,7 @@ Validated in Phase 1: Framework kernel foundation
|
||||
- [x] A single `summer` binary boots an application from layered YAML config via koanf (base + env overlays + per-plugin namespaces + environment variables), the layering design carried over from summer-compass (HOCON syntax itself is not used: no maintained Go parser exists)
|
||||
- [x] Plugins are Go modules registered at build time through a generated import list; `summer make:plugin` scaffolds one and `summer build` rebuilds the binary; a dev watch loop rebuilds on change
|
||||
- [x] A typed in-process event bus lets plugins subscribe to each other's events
|
||||
- [x] Console command framework with registration, dispatch and rich output (spinners, progress, tables, prompts), the design carried over from summer-bonfire; `summer make:plugin` / `plugin:add` shipped in Phase 1 (model, controller, migration, command, job scaffolds remain for Phase 4)
|
||||
- [x] Console command framework with registration, dispatch and rich output (spinners, progress, tables, prompts), the design carried over from summer-bonfire; `summer make:plugin` / `plugin:add` shipped in Phase 1; model, migration, command, job, and admin-controller scaffolds shipped in Phase 4
|
||||
|
||||
Validated in Phase 2: API parity harness bootstrap
|
||||
|
||||
@@ -33,13 +33,17 @@ Validated in Phase 3: First vertical slice — genres end to end
|
||||
- [x] Plugins register named middleware and `net/http` ServeMux route groups with typed integer params; JWT-guarded `GET /_fonoteka/api/v1/genres` returns seeded Genre rows from Postgres
|
||||
- [x] That genres route passes the Phase 2 PHP fixture replay: corpus 154 recorded, 1 passing, 153 pending (pending never counts as a Go pass); `scripts/check-phase3.sh` is the sign-off gate
|
||||
|
||||
Validated in Phase 4: CLI scaffolding, i18n and mail
|
||||
|
||||
- [x] Scaffolding commands `make:plugin`, `make:model`, `make:migration`, `make:command`, `make:job`, and `make:admin-controller` emit compiling, vet-clean Winter-shaped stubs wired through `registry.gen.go`
|
||||
- [x] i18n with CLDR plurals and namespaced keys (`vendor.plugin::group.key`), pl and en, loaded from per-plugin per-locale YAML, the design carried over from summer-phrasebook
|
||||
- [x] Plugins register mail templates and layouts by dotted name with the per-locale suffix convention; html/template + Goldmark render through memory, log, and SMTP (go-mail) drivers; `scripts/check-phase4.sh` is the sign-off gate
|
||||
|
||||
### Active
|
||||
|
||||
Framework kernel
|
||||
|
||||
- [ ] Plugins declare models, migrations, routes, console commands, jobs, event listeners, admin controllers and navigation through one plugin descriptor, and can extend other plugins' models through ordinary Go interfaces and events
|
||||
- [ ] Scaffolding commands for model, controller, migration, command, job
|
||||
- [ ] i18n with CLDR plurals and namespaced keys (`vendor.plugin::group.key`), pl and en, the design carried over from summer-phrasebook
|
||||
- [ ] YAML `rules:` validation mapped onto go-playground/validator with translated messages
|
||||
|
||||
Data layer
|
||||
@@ -160,4 +164,4 @@ This document evolves at phase transitions and milestone boundaries.
|
||||
4. Update Context with current state
|
||||
|
||||
---
|
||||
*Last updated: 2026-09-17 after Phase 3 completion*
|
||||
*Last updated: 2026-09-18 after Phase 4 completion*
|
||||
|
||||
Reference in New Issue
Block a user