Commit Graph

47 Commits

Author SHA1 Message Date
Jakub Zych
edbee885ac fix(09): revise plans based on checker feedback
- Plan 02: Added key_link clarifying CmsPageService.render populates
  PageRenderContext.components before template rendering. Updated
  Task 2/3 actions to emphasize component initialization flow.

- Plan 03: Split into 03 (storage + library core) and 03b (image
  processing + routes) to reduce scope from 9 files to 7+4 files.
  Estimated context reduced from ~65% to ~45% each.

- Plan 03b: New plan for ImageProcessor and MediaRoutes. Added
  specific curl command with -F flags and expected JSON response.

- Plan 05: Added plugin integration test (MenuPluginIntegrationSpec)
  demonstrating custom menu item type registration, resolution, and
  template rendering per CONT-09 requirement.

- Plan 06: Reframed must_haves truths from implementation details
  to user-observable outcomes (e.g., 'Developer edits template file,
  browser refresh shows changes without server restart')

- Roadmap: Updated Phase 9 from 6 to 7 plans.
2026-02-05 15:41:50 +01:00
Jakub Zych
dca89e10cd docs(09): create phase plan
Phase 09: Content Management
- 6 plan(s) in 3 wave(s)
- Wave 1: 09-01 (CMS pages/layouts), 09-03 (media library) - parallel
- Wave 2: 09-02 (component embedding), 09-04 (revisions), 09-05 (menus)
- Wave 3: 09-06 (hot reload)
- Ready for execution
2026-02-05 15:33:51 +01:00
Jakub Zych
a12cde5c0c docs(09): research content management domain
Phase 9: Content Management
- Standard stack: Scrimage for images, ZIO S3 for storage, CodeMirror 6 for editor
- CMS page patterns from WinterCMS with Pebble templates
- Media library with storage abstraction (local/S3)
- Content revision history with document versioning pattern
- Navigation menu system with polymorphic item types
- Hot reload via WatchService + Pebble cache invalidation
2026-02-05 15:24:50 +01:00
Jakub Zych
5b0928f292 docs(08): create phase plan
Phase 08: Admin Dashboard
- 4 plan(s) in 2 wave(s)
- 2 parallel (08-01, 08-02), 2 sequential (08-03, 08-04)
- Ready for execution
2026-02-05 15:16:30 +01:00
Jakub Zych
e0acf7d93a docs(08): research admin dashboard domain
Phase 8: Admin Dashboard
- Standard stack: Gridstack.js for layout, ZIO HTTP SSE for real-time
- Architecture patterns: Widget registry, per-user preferences, SSE streaming
- Settings system: Centralized manager, YAML-driven forms
- Pitfalls: SSE connection limits, layout save races, cache invalidation
2026-02-05 15:07:51 +01:00
Jakub Zych
34806c1845 docs(07): create phase plan
Phase 07: Admin Forms & Lists
- 3 plan(s) in 2 wave(s)
- Wave 1: 07-01 (YAML parsing, WidgetRegistry, FormRenderer)
- Wave 2: 07-02 (form widgets), 07-03 (list rendering) - parallel
- Ready for execution
2026-02-05 14:55:56 +01:00
Jakub Zych
8d00fe904b docs(07): research admin forms/lists domain
Phase 7: Admin Forms & Lists
- Standard stack identified: circe-yaml, ScalaTags, HTMX
- Architecture patterns documented: YAML ADT parsing, widget registry, form generation
- Pitfalls catalogued: YAML anchors, trigger conditions, repeater state, relation modals
2026-02-05 14:48:52 +01:00
Jakub Zych
1ad1993632 docs(06): create phase plan
Phase 06: Backend Authentication
- 3 plan(s) in 2 wave(s)
- Wave 1: 06-01 (login/logout foundation)
- Wave 2: 06-02 (password reset), 06-03 (RBAC + 2FA) - parallel
- Ready for execution
2026-02-05 14:35:41 +01:00
Jakub Zych
10cdd3f638 docs(06): research backend authentication domain
Phase 6: Backend Authentication
- Standard stack: Password4j (Argon2id), jwt-scala, java-totp
- Architecture: JWT + DB hybrid sessions, progressive lockout, TOTP 2FA
- RBAC: WinterCMS-style plugin-registered permissions
- Security: OWASP-compliant password storage, session management, reset tokens
2026-02-05 14:29:39 +01:00
Jakub Zych
5cdf78b93d docs(05): create phase plan
Phase 05: CLI Scaffolding
- 2 plans in 2 waves
- Wave 1: CLI framework + plugin scaffolding (05-01)
- Wave 2: Theme + component scaffolding (05-02)
- Ready for execution
2026-02-05 14:20:40 +01:00
Jakub Zych
0d4a96fee2 docs(05): research CLI scaffolding domain
Phase 5: CLI Scaffolding
- Standard stack: ZIO CLI 0.7.4, os-lib 0.11.7, fansi 0.5.1
- Architecture patterns for noun-verb commands documented
- Template rendering with string interpolation
- File operations with os-lib
- Interactive wizard mode via ZIO CLI built-in
- Common pitfalls catalogued
2026-02-05 14:15:41 +01:00
Jakub Zych
44685de65e docs(04): create phase plan
Phase 04: Theme Engine
- 2 plans in 2 waves
- Wave 1: Theme loading and layout composition (04-01)
- Wave 2: Asset pipeline and Vue integration (04-02)
- Ready for execution
2026-02-05 14:06:11 +01:00
Jakub Zych
6cc9465f35 docs(04): research theme engine domain
Phase 4: Theme Engine
- Standard stack: Pebble 4.1.1 + pebble-scala for Twig-compatible templates
- Asset bundling: Vite with manifest-based backend integration
- Hot reload: Mill --watch + classloader-based reload
- Vue hydration: createSSRApp with server-rendered HTML
- Caching: ZCaffeine for static page caching
- Architecture patterns documented for layouts, partials, rendering modes
2026-02-05 13:55:41 +01:00
Jakub Zych
3dd38dabd8 docs(03): create phase plan
Phase 03: Component System
- 2 plan(s) in 2 wave(s)
- Wave 1: 03-01 (registration and lifecycle) - parallel
- Wave 2: 03-02 (HTMX routing and response) - sequential
- Ready for execution
2026-02-05 13:45:15 +01:00
Jakub Zych
a68508ba73 docs(03): research component system domain
Phase 3: Component System
- Standard stack: zio-http-htmx 3.3.0, Pebble 4.1.1, htmx4s
- Architecture patterns: YAML properties, lifecycle hooks, HTMX handlers
- WinterCMS component patterns adapted to ZIO
- Pitfalls: CSRF, XSS, state isolation, SSE connections
2026-02-05 13:38:58 +01:00
Jakub Zych
5f2e7b87c9 fix(02): revise plans based on checker feedback
- 02-01 Task 3: Add concrete REPL verification command for PluginManifest.parse
- 02-02 Task 1: Add FieldDef case class to placeholder types in PluginRegistration.scala
- 02-02 Task 1: Document PluginEnv as placeholder to be expanded in 02-03
- 02-03 Task 3: Remove duplicate Main.scala code, keep only corrected version
- 02-03: Add SummerPlugin.scala to files_modified for PluginEnv update
2026-02-05 13:29:45 +01:00
Jakub Zych
336acf5572 docs(02): create phase plan
Phase 02: Plugin System
- 3 plans in 3 waves (sequential)
- 02-01: Plugin discovery and manifest parsing
- 02-02: Lifecycle management and dependency resolution
- 02-03: Extension API with type-safe plugin-to-plugin communication
- Ready for execution
2026-02-05 13:24:06 +01:00
Jakub Zych
030633b5e5 docs(02): research plugin system domain
Phase 2: Plugin System
- Standard stack identified: circe-yaml, semver-parser-scala, directory-watcher
- Architecture patterns documented: ZIO service traits, Hub events, Ref state
- Dependency resolution via topological sort with cycle detection
- Type-safe extension API patterns from Scala 3 features
- Pitfalls catalogued from WinterCMS experience
2026-02-05 13:18:10 +01:00
Jakub Zych
f2f311dbfc docs(quick-001): track JDK 21+ requirement update in STATE.md
Quick task completed.
2026-02-05 13:08:42 +01:00
Jakub Zych
c8e87daa3e docs(quick-001): complete JDK requirement update plan
Tasks completed: 1/1
- Update JDK requirement in research/STACK.md

SUMMARY: .planning/quick/001-update-jdk-requirement-to-21-for-loom-vi/001-SUMMARY.md
2026-02-05 13:08:15 +01:00
Jakub Zych
64dcdedfa2 docs(quick-001): update JDK requirement from 17+ to 21+ for Loom virtual threads
- Update JDK version requirement in Language & Runtime table
- Add rationale explaining Loom virtual threads benefit for JDBC blocking ops
- Clarify ZIO fibers and JVM virtual threads are complementary
2026-02-05 13:07:52 +01:00
Jakub Zych
7a8cad2060 docs(quick): plan JDK 21+ requirement update for Loom virtual threads
Quick task to update JDK requirement from 17+ to 21+ in STACK.md.
Rationale: Loom virtual threads benefit JDBC blocking operations in Quill.
2026-02-05 13:07:00 +01:00
Jakub Zych
dc5564ef22 docs(01): complete Foundation phase 2026-02-05 12:26:43 +01:00
Jakub Zych
e22170714f fix(01): orchestrator corrections 2026-02-05 12:18:55 +01:00
Jakub Zych
46f8b7dc90 docs(01-03): complete Repository Pattern and Infrastructure plan
Tasks completed: 3/3
- Create Repository pattern with typed errors
- Create Pulumi infrastructure with Besom
- Create Dockerfile for containerization

SUMMARY: .planning/phases/01-foundation/01-03-SUMMARY.md

Phase 1 Foundation now complete (3/3 plans)
2026-02-05 12:01:27 +01:00
Jakub Zych
d2399de260 docs(01-02): complete PostgreSQL and Migrations plan
Tasks completed: 3/3
- Create Quill PostgreSQL context
- Create Flyway migrator service
- Add /ready endpoint with database check

SUMMARY: .planning/phases/01-foundation/01-02-SUMMARY.md
2026-02-04 22:31:32 +01:00
Jakub Zych
bcf928da77 docs(01-01): complete Mill Build and ZIO HTTP Server plan
Tasks completed: 3/3
- Create Mill build configuration
- Create project structure and configuration
- Create HTTP routes and Main entry point

SUMMARY: .planning/phases/01-foundation/01-01-SUMMARY.md
2026-02-04 21:45:03 +01:00
Jakub Zych
db76c5dd91 fix(01): reconcile migration policy - manual via CLI, not auto on startup
- Updated 01-02-PLAN.md Task 3 to NOT run migrations on startup
- Updated must_haves truth: 'run via ZIO effect when invoked' (not 'on startup')
- Updated verification/success_criteria to reflect manual migration
- Updated ROADMAP success criteria #3 to match CONTEXT.md decision

Per CONTEXT.md line 22-23: migrations run manually via CLI command
2026-02-04 17:25:27 +01:00
Jakub Zych
3f1fc59d23 docs(01): create phase 1 foundation plans
Phase 01: Foundation
- 3 plans in 3 waves (sequential dependency)
- Plan 01: Mill build + ZIO HTTP server
- Plan 02: PostgreSQL + Quill + Flyway migrations
- Plan 03: Repository pattern + Pulumi/Besom deployment

Ready for execution
2026-02-04 17:21:15 +01:00
Jakub Zych
a0f198e894 docs(01): research phase domain
Phase 01: Foundation
- Standard stack identified (Mill, ZIO HTTP, Quill, Flyway, Besom)
- Architecture patterns documented (service layer, typed errors, HOCON config)
- Pitfalls catalogued (effect wrapping, transaction nesting, Besom laziness)
2026-02-04 17:16:06 +01:00
Jakub Zych
02ee2b296b docs(10): capture phase context
Phase 10: Core Plugins
- Implementation decisions documented
- Phase boundary established
2026-02-04 17:06:27 +01:00
Jakub Zych
94ebf3f7b5 docs(09): capture phase context
Phase 09: Content Management
- Implementation decisions documented
- Phase boundary established
2026-02-04 16:51:37 +01:00
Jakub Zych
cf711a996d docs(08): capture phase context
Phase 08: Admin Dashboard
- Implementation decisions documented
- Phase boundary established
2026-02-04 16:38:25 +01:00
Jakub Zych
8abdc30bf2 docs(07): capture phase context
Phase 07: Admin Forms & Lists
- Implementation decisions documented
- Phase boundary established
2026-02-04 16:29:23 +01:00
Jakub Zych
90a2473fd0 docs(06): capture phase context
Phase 06: Backend Authentication
- Implementation decisions documented
- Phase boundary established
2026-02-04 16:15:54 +01:00
Jakub Zych
90cd7b1bf0 docs(05): capture phase context
Phase 05: CLI Scaffolding
- Implementation decisions documented
- Phase boundary established
2026-02-04 16:06:41 +01:00
Jakub Zych
1eaa5f5d16 docs(04): capture phase context
Phase 04: Theme Engine
- Template syntax decisions (Twig-style, string templates)
- Layout composition (WinterCMS-style placeholders)
- Asset pipeline requirements (hot reload, bundling)
- Rendering modes (SPA, hybrid, static)
2026-02-04 15:54:14 +01:00
Jakub Zych
63e334d92b docs(03): capture phase context
Phase 03: Component System
- Implementation decisions documented
- Phase boundary established
2026-02-04 15:38:45 +01:00
Jakub Zych
ec0e8daddf docs(02): capture phase context
Phase 02: Plugin System
- Implementation decisions documented
- Phase boundary established
2026-02-04 15:13:09 +01:00
Jakub Zych
8f3c671cac docs(01): capture phase context
Phase 01: foundation
- Implementation decisions documented
- Phase boundary established
2026-02-04 13:57:50 +01:00
Jakub Zych
efe518cbe8 docs: create roadmap (10 phases)
Phases:
1. Foundation: Database, migrations, repository, deployment
2. Plugin System: Discovery, lifecycle, dependencies, extension API
3. Component System: Reusable UI with HTMX
4. Theme Engine: Layouts, partials, Vue integration
5. CLI Scaffolding: Plugin/theme/component commands
6. Backend Authentication: Users, login, RBAC
7. Admin Forms & Lists: YAML-driven generation
8. Admin Dashboard: Widgets and settings
9. Content Management: Pages, media, menus
10. Core Plugins: User and Blog plugins

All 43 v1 requirements mapped to phases.
2026-02-04 13:11:29 +01:00
Jakub Zych
318bdf84ac docs: define v1 requirements
38 requirements across 7 categories:
- Core Framework (9)
- Admin Backend (7)
- User & Auth (4)
- Content Management (9)
- Core Plugins (8)
- Differentiators (2)
- Infrastructure (4)

Deferred to v2: API/headless, additional plugins, advanced features
2026-02-04 13:04:19 +01:00
Jakub Zych
834dd51bcc docs: complete project research for SummerCMS
Files:
- STACK.md - ZIO ecosystem recommendations (Scala 3.3.7 LTS, ZIO HTTP 3.8.1, Quill 4.8.6, Mill 1.0)
- FEATURES.md - CMF feature inventory from WinterCMS reference (table stakes, differentiators, anti-features)
- ARCHITECTURE.md - ZIO layer-based architecture with plugin system patterns
- PITFALLS.md - 23 identified pitfalls across Scala/ZIO, CMF rewrite, scope, and team dimensions
- SUMMARY.md - Executive synthesis with 7-phase roadmap recommendations

Key findings:
- Stack: ZIO ecosystem production-ready, Quill endorsed as only maintained database library
- Architecture: Plugin System is critical bottleneck, build 3-5 plugins before finalizing API
- Critical pitfall: Big Rewrite Anti-Pattern - define MVP as "build new site" not "full WinterCMS parity"

Ready for roadmap creation.
2026-02-04 02:46:18 +01:00
Jakub Zych
a185132635 Initial research ahahahah 2026-02-04 02:18:31 +01:00
Jakub Zych
f1cb7186b0 chore: add project config
Mode: interactive
Depth: comprehensive
Parallelization: enabled
Workflow agents: research=on, plan_check=on, verifier=on
Model profile: quality
2026-02-04 01:35:13 +01:00
Jakub Zych
2e4e2baee3 docs: initialize project
Scala-based CMF rewriting WinterCMS for better performance and scalability
2026-02-04 01:34:15 +01:00
Jakub Zych
d8a4a4555c IDEA Extended 2026-02-04 01:06:15 +01:00