Phase 5: AI server bootstrap, test coverage, E2E tests, roadmap update#19
Merged
Conversation
…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>
800c230 to
3069c11
Compare
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This was referenced May 17, 2026
Layer 3b: apply plugin-version discipline to remaining 56 plugin repos (workflow#758 follow-up)
#760
Closed
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
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 incmd/server/main_test.go.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%.helpers.tswith extracted utilities.Test plan
go build ./...— clean compilation including newcmd/servergo test ./...— all tests pass (existing + 51 new)go test -cover ./...— all coverage targets met/exceededcd ui && npx playwright test— all 111 new E2E tests passgo run ./cmd/server -config example/simple-workflow-config.yamlstarts without error🤖 Generated with Claude Code