Development Roadmap & Versioning
Project:
foundry
Organization: foundkit
📌 Status Legend
Section titled “📌 Status Legend”- Pending
- [/] In Progress
- Completed
Milestone 1: Framework Decoupling & Facade Architecture (v0.1.0)
Section titled “Milestone 1: Framework Decoupling & Facade Architecture (v0.1.0)”-
1.1 Core Platform & Application Decoupling
- Create facade crate
foundrywithFoundryApp::builder()and unified prelude. - Full separation between framework runtime and independent user applications.
- Package and distribute via standard Cargo dependencies (
foundry = "0.1").
- Create facade crate
-
1.2 Subsystem Standard & Dynamic Routing
-
SubsystemModuletrait for registering business modules, custom routes, and admin pages. - Static and dynamic external subsystem discovery engine.
- Topic-scoped RBAC and Context extraction.
-
-
1.3 Storage & Admin Control Plane
- PostgreSQL Zero-DDL dynamic model schema engine.
- Auto-generated RESTful CRUD endpoints (
/api/v1/s/{system_slug}/{model_slug}). - Embedded Admin SPA Shell with iframe sandbox bridge (
FoundryBridge).
-
1.4 Developer CLI Tooling (
foundry-cli)-
foundry new <project>: Scaffold standalone user application. -
foundry system new <slug>: Scaffold business subsystem. -
foundry migrate: Apply baseline migrations. -
foundry validate/system list: Project specification validation and subsystem discovery tooling.
-
-
1.5 Reference Example & Automated Testing
-
examples/blog_platform: Full-featured standalone reference application. - End-to-end integration and CLI smoke tests in CI.
-
Milestone 2: Extensibility & Developer Experience (v0.2.0)
Section titled “Milestone 2: Extensibility & Developer Experience (v0.2.0)”-
[/] 2.1 Sandboxed WebAssembly (Wasmtime) Plugin Runtime
- Hot-reloadable WASM subsystem modules.
- Safe sandbox boundary for multi-tenant extensions.
-
[/] 2.2 OpenAPI 3.0 & Swagger UI Integration
- Auto-generate OpenAPI schemas for dynamically created data models and subsystem routes.
- Embedded Swagger UI explorer in Admin Shell.
-
2.3 Multi-Database Support & Pluggable Storage SPI (PostgreSQL, MySQL, MariaDB, MongoDB)
- Complete architecture design & implementation roadmap: Storage Engines & Multi-Database Architecture.
- Storage Engine SPI & Smart Detection: Abstract
StorageDriverProviderandStorageRegistry, supporting protocol sniffing fromDATABASE_URLand explicit selection viaDATABASE_TYPE. - Method-Based Decoupling: Encapsulate raw pools completely within the
Databasefacade (db.records(), etc.). - Phased Implementation Matrix & Progress:
- Phase 0 (1st Integration - [x] Completed): Core SPI & Trait abstraction; refactor PostgreSQL into
PostgresProviderwith JSONB & GIN inverted index. - Phase 1 (2nd Integration - [x] Completed): MySQL 8.0+ / 8.4+ strategy with auto-increment,
DATETIME(6), deferred join pagination, and transaction atomic re-query. - Phase 2 (3rd Integration - [x] Completed): MariaDB 10.5+ dialect and driver adaptation, dedicated migration schema, and covering composite indexes.
- Phase 3 (4th Integration - [x] Completed): MongoDB 6.0+ native document strategy with BSON mapping, atomic
_counterssequence compatibility fori64primary keys, and Wildcard indexing (data.$**). - Phase 4 (Production-Readiness & Release - [x] Completed): Upgrade
foundry migratefor dialect-aware migrations, containerized test suites, and developer guides. (Oracle DB removed from scope due to heavy runtime dependencies).
- Phase 0 (1st Integration - [x] Completed): Core SPI & Trait abstraction; refactor PostgreSQL into
Milestone 3: Enterprise & High-Availability (v1.0.0)
Section titled “Milestone 3: Enterprise & High-Availability (v1.0.0)”-
3.1 Cluster Orchestration & Distributed Pub/Sub
- Real-time WebSocket event streaming.
- Multi-node cache synchronization via Redis Pub/Sub.
-
3.2 Dynamic Webhook Dispatcher
- Configurable webhook endpoints triggered on entity mutations.
- Retry queue with exponential backoff.
🏷️ Versioning Strategy & Upgrade Guide
Section titled “🏷️ Versioning Strategy & Upgrade Guide”Foundry follows Semantic Versioning (SemVer):
- Major versions (
1.x.x): Breaking changes to public APIs with automated migration guides. - Minor versions (
0.x.x,1.x.0): New feature additions, builder extensions, and backward-compatible trait defaults. - Patch versions (
0.1.x): Backward-compatible bug fixes and internal performance enhancements.
Upgrading in a user application:
cargo update -p foundry