Production Roadmap - GridPlacement 6.0 C# Plugin
Overview
This document outlines the roadmap for taking the GridPlacement 6.0 C# plugin to production-ready state.
Current reality (Dec 2025):
- The service + adapter direction is correct (Core-first, Godot wrappers thin).
- Core scaffolding exists (e.g.
ServiceRegistry,IPlacementService,IPlacementCommands, targeting sensor/controller). - Godot-side test gate is not yet reliable, and production metrics (coverage, security, CI) are not yet valid.
Production Readiness Criteria
Must-Have (Required for Production)
- Core build + tests are a reliable gate (Core test projects compile and run in CI)
- Godot build + tests are a reliable gate (thin adapter smokes; no test-host crashes)
- Clean Core/Godot separation (Core has no
Godotdependencies) - Architecture Gate: service scopes + command boundaries + supported adapter surface are explicit and implemented (see
ROADMAP.md, section “6.0 C# — Execution Roadmap”) - Integration Gate: two supported host approaches are documented and viable
- Approach A:
GameComposition.Coreis supported as the preferred shared composition foundation across plugins - Approach B: host-agnostic integration is supported (manual wiring or alternate DI container; no required global service locator)
- Boundary requirement:
GameUserSessionsis optional; GridPlacement must run in single-user and non-authenticated hosts - Boundary requirement: no mandatory “current user” global; user/session identity is provided by explicit host entrypoints/adapters
- Approach A:
- GitHub Actions CI/CD pipeline
- Automated release process
- Production documentation
- Security audit complete
- Performance benchmarks established
Should-Have (Recommended for Production)
- >90% code coverage
- Integration test suite
- Automated regression testing
- Performance monitoring
- Error tracking/telemetry
Nice-to-Have (Post-Production)
- VS Code extension
- Visual editor tools
- Advanced debugging tools
Timeline to Production
Phase 1: Foundation (In Progress - Dec 2025)
Status: In Progress
Achievements so far:
- Core-first architectural direction established (service + adapter).
ServiceRegistryexists in Core and can create scopes.- Minimal Godot
ServiceCompositionRootexists for wiring. - Targeting Phase 1 adapter exists (
TargetSensor2D,TargetingController2D).
Phase 2: Production Preparation (Q1 2026)
Target: Production-ready state Timeline: January - March 2026
Architecture Gate (must pass before Beta)
- Done when:
- DI lifetimes/scopes are documented (global/session/user) and reflected in code usage (
ServiceRegistry, scopes,IUserScope). - Supported Godot adapter surface is enumerated (Canonical / Optional / Legacy-only).
- Canonical command/event flow is documented for UI/input and adapter notifications (
IPlacementCommandsetc.). - Targeting adapter boundary is enforced (controllers translate input; sensors own physics/query nodes; Core adapter is the single cursor writer).
- ADRs exist for core decisions (registry + scopes, adapter test boundary, targeting sensor plan).
- DI lifetimes/scopes are documented (global/session/user) and reflected in code usage (
Integration Gate (must pass before Beta)
- Done when:
- Approach A (GameComposition-first) has a minimal reference host integration example (2+ plugins composed together).
- Approach B (host-agnostic) has a documented manual wiring recipe including the minimal required service graph.
- Godot
ServiceCompositionRootis clearly positioned as optional engine glue, not the only way to run the Core. - Per-plugin
Integrationssubprojects exist to prove compatibility (tests) and provide optional integration helpers:- Base runtime projects remain host-agnostic (no mandatory
GameComposition/GameUserSessionsdeps). - Integration projects are allowed to reference
GameComposition/GameUserSessionsfor compile-time + wiring verification. - Integrations do not depend on other gameplay plugins (no
GridPlacement→WorldTimecoupling).
- Base runtime projects remain host-agnostic (no mandatory
- The integration story does not contradict
ROADMAP.md.
Test Harness Pattern Scope (5.1 only)
- The current test harness patterns (Godot project + GdUnit + orchestrator runner) are scoped to the 5.1 GDScript legacy track.
- 6.0 C# testing strategy is intentionally deferred and will be decided separately.
Port-forward posture:
- Prefer improving architecture and integration patterns in 6.0 C# and recommending migration.
- Avoid introducing a generalized plugin-agnostic composition root framework for 5.1 GDScript users.
Milestones:
2.1 CI Infrastructure (Q1 2026)
- GitHub Actions pipeline for Core + Godot build/test
- Local scripts remain supported (ci-build.sh, ci-test.sh, ci-quality.sh, ci-all.sh)
- Automated release pipeline
- Version management strategy
- Artifact publishing
2.2 Documentation & Developer Experience (Q1 2026)
- Production documentation (install, quickstart, runtime-only vs editor-only boundary)
- Migration guides (5.x → 6.0, service/adapters)
- Minimal example scenes demonstrating composition + placement + targeting
2.3 Quality Assurance (Q1 2026)
- Achieve >90% code coverage
- Complete integration test suite
- Godot boundary exception policy (no uncaught C# exceptions in GDScript-facing APIs)
- Provide non-throwing
Try*wrappers/adapters for engine-facing calls (e.g., manipulation, placement) - Install global unhandled exception hooks in the Godot host/test harness (fail CI on unhandled exceptions)
- (Optional) Add analyzer/lint rule: disallow
throwin GDScript-callable adapter surface
- Provide non-throwing
- Performance benchmarking
- Security audit
- Load testing
- Compatibility testing
Phase 3: Production Launch (Q2 2026)
Target: Public production release Timeline: April - June 2026
Pre-Launch Checklist:
Beta Testing (April 2026)
- Internal beta release
- Beta tester feedback incorporation
- Critical bug fixes
- Performance optimization
- Documentation refinement
Production Release (May 2026)
- Version 1.0.0 release
- Production deployment
- Release announcement
- Community support channels
- Monitoring and telemetry setup
Post-Launch Support (June 2026)
- Bug fix releases
- Performance optimization
- Community feedback incorporation
- Documentation updates
Phase 4: Post-Production Enhancement (Q3-Q4 2026)
Target: Feature expansion and optimization
Target Health Score: 10/10
Timeline: July - December 2026
Focus Areas:
Developer Tools (Q3 2026)
- VS Code extension
- Code snippets and templates
- Enhanced debugging tools
- Hot reload support
Advanced Features (Q4 2026)
- Multi-layer grid support
- Advanced placement validation
- Procedural generation tools
- Visual editor plugins
Production Blockers
Critical (Must Fix Before Production)
- Core + Godot tests as gates - Core and Godot test projects compile and run reliably (no hidden exclusions; no test-host crashes)
- Service scopes + adapter boundaries - explicit and reflected in code + docs (global/session/user, command surfaces, supported adapters)
- Security Audit - Required for enterprise adoption
High Priority
- Performance Benchmarks - Establish baseline metrics
- Integration Tests - Ensure system-level stability
- Code Coverage - Achieve >90% target
Medium Priority
- Error Telemetry - For production monitoring
- Load Testing - For scalability validation
- Compatibility Testing - Across Godot versions
Success Metrics
Production Launch Criteria
- Core tests are a reliable gate (CI)
- Godot adapter tests are a reliable gate (CI)
- >90% code coverage (Core)
- CI pipeline operational (GitHub Actions)
- Production docs complete
- Security audit passed
Post-Production Metrics
- Response time: <100ms for core operations
- Memory footprint: <50MB for typical usage
- Test execution time: <5s for full suite
- Build time: <30s for full build
- Documentation coverage: 100%
- Community satisfaction: >4.5/5 stars
Risk Management
Technical Risks
| Risk | Impact | Probability | Mitigation |
|---|---|---|---|
| Breaking API changes | High | Low | Semantic versioning, deprecation warnings |
| Performance regression | Medium | Medium | Continuous benchmarking, automated tests |
| Security vulnerabilities | High | Low | Regular audits, dependency scanning |
| Godot version incompatibility | Medium | Medium | Version-specific testing, compatibility matrix |
Schedule Risks
| Risk | Impact | Probability | Mitigation |
|---|---|---|---|
| CI/CD setup delays | High | Medium | Prioritize early, use existing templates |
| Documentation incomplete | Medium | Low | Dedicated documentation sprints |
| Testing gaps | Medium | Medium | Regular coverage reviews, test planning |
Dependencies
External Dependencies
- Godot Engine 4.x
- .NET 8.0
- Chickensoft.GoDotTest 1.3.0
- GitHub Actions (CI/CD)
Internal Dependencies
- Core project stability (in progress)
- Test infrastructure (in progress)
- Service Registry + scopes (in progress)
- Documentation system (in progress)
Resources
Team Requirements
- Lead Developer: Architecture and critical features
- QA Engineer: Test automation and quality assurance
- Technical Writer: Documentation and guides
- DevOps Engineer: CI/CD and infrastructure
Infrastructure Requirements
- GitHub Actions runners
- Test environment for Godot
- Documentation hosting
- Package registry access
Communication Plan
Internal Updates
- Weekly progress reports
- Monthly milestone reviews
- Quarterly roadmap updates
External Communication
- Beta release announcement
- Production launch announcement
- Regular blog updates
- Community engagement
Next Steps (Immediate Actions)
This Week:
- Setup GitHub Actions workflows
- Create agent setup guide
- Begin CI/CD implementation
This Month:
- Complete CI/CD pipeline
- Establish performance benchmarks
- Begin documentation sprint
This Quarter:
- Achieve 9.5/10 health score
- Complete all production preparation tasks
- Plan beta release
Version Control
- Last Updated: December 13, 2025
- Next Review: January 2026
- Owner: Development Team
- Status: In Progress
Related Documents
- Development Roadmap - Detailed development plans
- GitHub SWE Setup Guide - Agent setup and testing
- Test Isolation Workflow - Test development process
- Workspace Guide - Development environment setup
Note: This roadmap is a living document and will be updated as we progress toward production. Feedback and suggestions are welcome through GitHub issues and discussions.