docs(phase-02): evolve PROJECT.md after phase completion
This commit is contained in:
@@ -21,6 +21,12 @@ Validated in Phase 1: Framework kernel foundation
|
||||
- [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)
|
||||
|
||||
Validated in Phase 2: API parity harness bootstrap
|
||||
|
||||
- [x] `summer parity:record`, `parity:replay` and `parity:proxy` on the Phase 1 bonfire kernel capture live PHP (154 routes plus real Nuxt and MCP flows) into versioned YAML fixtures with secrets scrubbed to placeholders
|
||||
- [x] Replay-and-diff against an arbitrary HTTP backend reports JSON-path and byte-offset mismatches; the normalizer fails the named parity classes (nil vs `[]`, Carbon `Z` vs `+00:00`, tri-state booleans, envelopes, money string vs number)
|
||||
- [x] App `go test ./parity` starts testcontainers Postgres; unported PHP routes stay pending and never count as a Go pass; `scripts/check-phase2.sh --fresh-php` is the sign-off gate
|
||||
|
||||
### Active
|
||||
|
||||
Framework kernel
|
||||
@@ -61,7 +67,7 @@ Admin
|
||||
Quality
|
||||
|
||||
- [ ] `go vet` and `go test ./...` green at every commit; each phase ends with a unit-test plan bringing its code to full coverage
|
||||
- [ ] An API parity test suite replays the Nuxt app's and MCP server's requests against both backends and diffs responses
|
||||
- [ ] Cutover: the Phase 2 parity harness is green on all 154 routes against the ported Go backend (QA-05); the recorder/replayer itself is validated
|
||||
- [ ] Definition of done: `vue-fonoteka-app` and `fonoteka-mcp` run unchanged against the Go backend, in daily use
|
||||
|
||||
### Out of Scope
|
||||
@@ -129,7 +135,7 @@ Quality
|
||||
| koanf + YAML config, goccy/go-yaml everywhere | No maintained Go HOCON parser; `gopkg.in/yaml.v3` upstream archived April 2025; one YAML library for config and admin schemas | — Pending |
|
||||
| swaggo/swag for OpenAPI, not Huma | Comment annotations on plain net/http handlers keep 154 ported routes byte-compatible; Huma would reshape every handler | — Pending |
|
||||
| GORM + River share one `*sql.DB` (pgx stdlib) with a separate pgx pool for LISTEN/NOTIFY | River's documented GORM integration; transactional enqueue inside GORM transactions | — Pending |
|
||||
| Parity harness is a day-one workstream | Fixture recording needs only the running PHP backend; it is the acceptance mechanism for every port phase | — Pending |
|
||||
| Parity harness is a day-one workstream | Fixture recording needs only the running PHP backend; it is the acceptance mechanism for every port phase | ✓ Good (Phase 2, 2026-09-17: 154/154 PHP self-replay, Nuxt/MCP fixtures, testcontainers Go runner) |
|
||||
| Framework and application in two repos from day one (`summercms.go`, `fonoteka.go`) | Retrofitting the split later is more disruptive; shared stack plugins can be extracted for keios.eu without touching the framework; the framework never imports an app | — Pending (chosen 2026-09-16) |
|
||||
|
||||
## Evolution
|
||||
@@ -150,4 +156,4 @@ This document evolves at phase transitions and milestone boundaries.
|
||||
4. Update Context with current state
|
||||
|
||||
---
|
||||
*Last updated: 2026-09-16 after Phase 1 completion*
|
||||
*Last updated: 2026-09-17 after Phase 2 completion*
|
||||
|
||||
Reference in New Issue
Block a user