Skip to content

Phase 5: AI server bootstrap, test coverage, E2E tests, roadmap update#19

Merged
intel352 merged 5 commits into
mainfrom
phase5-server-coverage-e2e
Feb 10, 2026
Merged

Phase 5: AI server bootstrap, test coverage, E2E tests, roadmap update#19
intel352 merged 5 commits into
mainfrom
phase5-server-coverage-e2e

Conversation

@intel352
Copy link
Copy Markdown
Contributor

Summary

  • WS1 — AI Server Bootstrap: New cmd/server/main.go (~150 lines) wiring AI service, dynamic components, and workflow UI into a single HTTP dev server with graceful shutdown. CLI flags for config, address, and AI provider keys. 4 tests in cmd/server/main_test.go.
  • WS2 — Go Test Coverage: 51 new test functions across root (engine_test.go), module (eventbus_trigger_test.go, api_handlers_test.go), dynamic (api_test.go), and AI (api_test.go, llm/client_test.go) packages. Coverage: root 68.6%→97.0%, module 77.1%→82.5%, dynamic 75.4%→85.4%, ai 84.8%→87.6%, ai/llm 84.5%→91.2%.
  • WS3 — Playwright E2E Tests: 111 new tests across 11 spec files covering all 30 module types, property editing, keyboard shortcuts, AI panel, component browser, import/export, accessibility, toast notifications, edge cases, and visual regression. Shared helpers.ts with extracted utilities.
  • WS4 — ROADMAP.md Update: Phase 2 marked Complete, Phase 4 (EventBus) added as Complete, Phase 5 (this work) added as In Progress, coverage table updated with current numbers and status column, old Phase 4 renumbered to Phase 6.

Test plan

  • go build ./... — clean compilation including new cmd/server
  • go test ./... — all tests pass (existing + 51 new)
  • go test -cover ./... — all coverage targets met/exceeded
  • cd ui && npx playwright test — all 111 new E2E tests pass
  • Manual: go run ./cmd/server -config example/simple-workflow-config.yaml starts without error

🤖 Generated with Claude Code

intel352 and others added 4 commits February 9, 2026 21:36
…pdate

WS1: AI Server Bootstrap
- New cmd/server/main.go with HTTP mux wiring all API handlers
  (AI, deploy, dynamic components, workflow UI)
- CLI flags for config, address, AI provider configuration
- Conditional Anthropic/Copilot provider registration
- Graceful shutdown with signal handling
- 4 passing tests in cmd/server/main_test.go

WS2: Go Test Coverage
- Root package: 68.6% → 97.0% (17 new tests in engine_test.go)
- Dynamic package: 75.4% → 85.4% (16 new tests in dynamic/api_test.go)
- AI packages: 84.8% → 87.6%, LLM: 84.5% → 91.2%
- Module: 77.1% → 78.2%, EventBus trigger: +4 tests, API handlers: +2 tests

WS3: Comprehensive Playwright E2E Tests
- 111 new tests across 11 spec files (deep-*.spec.ts)
- Shared helpers (helpers.ts) with complete 30-entry module type map
- Coverage: all module types, property editing, keyboard shortcuts,
  AI panel, component browser, import/export, edge cases,
  accessibility, toast notifications, visual regression
- 47 new screenshots for visual verification
- Updated playwright.config.ts with video and screenshot config

WS4: ROADMAP.md Update
- Phase 2 marked Complete, Phase 3 Copilot items marked done
- Added Phase 4 (EventBus Integration) as Complete
- Added Phase 5 (this work) as In Progress
- Renamed old Phase 4 to Phase 6
- Updated coverage table with current numbers

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
The go.mod had replace directives pointing to /home/jon/workspace/modular-fork
which doesn't exist on CI. Removed them since CrisisTextLine/modular packages
are published on the Go module proxy. Updated CI workflow from Go 1.23/1.24
to 1.24/1.25 to match the go.mod requirement.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Remove Go 1.24 from test matrix since go.mod requires 1.25.
Fix errcheck and unused-field lint warnings in test code we added.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
- errcheck: handle or explicitly ignore all unchecked error returns
- staticcheck ST1005: lowercase error strings in copilot client
- staticcheck S1016: use type conversion instead of struct literal
- staticcheck S1039: remove unnecessary fmt.Sprintf
- staticcheck SA1012: replace nil contexts with context.Background()
- staticcheck SA1029: use typed context key instead of bare string
- staticcheck QF1002: use tagged switch in workflow UI handler
- unused: remove unused types and methods in test files

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
@intel352 intel352 force-pushed the phase5-server-coverage-e2e branch 2 times, most recently from 800c230 to 3069c11 Compare February 10, 2026 05:47
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant