diff --git a/.planning/phases/04-cli-scaffolding-i18n-and-mail/04-REVIEW.md b/.planning/phases/04-cli-scaffolding-i18n-and-mail/04-REVIEW.md new file mode 100644 index 0000000..100575f --- /dev/null +++ b/.planning/phases/04-cli-scaffolding-i18n-and-mail/04-REVIEW.md @@ -0,0 +1,139 @@ +--- +status: issues +phase: 04-cli-scaffolding-i18n-and-mail +depth: standard +files_reviewed: 36 +files_reviewed_list: + - bonfire/command.go + - bonfire/root.go + - cmd/summer/main.go + - cmd/summer/main_test.go + - examples/hello/config/mail.yaml + - examples/hello/hello_test.go + - examples/hello/plugins/base/lang/en/lang.yaml + - examples/hello/plugins/base/lang/pl/lang.yaml + - examples/hello/plugins/base/plugin.go + - examples/hello/plugins/base/views/mail/hello-en.htm + - examples/hello/plugins/base/views/mail/hello.htm + - examples/hello/plugins/base/views/mail/layouts/hello.htm + - internal/build/artifact.go + - internal/build/build.go + - internal/build/build_test.go + - internal/build/leaf.go + - internal/build/registry.go + - internal/build/scaffold.go + - internal/build/stubs/artifacts.tmpl + - internal/build/stubs/plugin.tmpl + - internal/build/stubs/registry.tmpl + - pact/capabilities.go + - party/registry.go + - party/registry_test.go + - phrasebook/loader.go + - phrasebook/translator.go + - phrasebook/translator_test.go + - postcard/assets/default.htm + - postcard/drivers.go + - postcard/mailer.go + - postcard/mailer_test.go + - postcard/mailpit_test.go + - postcard/smtp_test.go + - postcard/templates.go + - postcard/templates_test.go + - scripts/check-phase4.sh +findings: + critical: 0 + warning: 4 + info: 3 + total: 7 +reviewed: 2026-09-18T12:15:00Z +--- + +# Phase 4: Code Review Report + +**Reviewed:** 2026-09-18T12:15:00Z +**Depth:** standard +**Files Reviewed:** 36 +**Status:** issues + +## Summary + +Scaffolding, phrasebook, and postcard are a real boot path: `make:*` writes Winter-shaped leaves and a temp+rename `registry.gen.go`, `summer build` runs a models-leaf import check before `go build`, `party.Activate` publishes a translator and mailer then fails Boot on missing mail files, and Send renders Markdown through `html/template` + goldmark (unsafe HTML off) with CR/LF header rejection and mandatory TLS unless `none` is set. String Vars cannot drop raw `