Skip to content

Development Roadmap & Versioning

Project: foundry
Organization: foundkit


  • 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 foundry with FoundryApp::builder() and unified prelude.
    • Full separation between framework runtime and independent user applications.
    • Package and distribute via standard Cargo dependencies (foundry = "0.1").
  • 1.2 Subsystem Standard & Dynamic Routing

    • SubsystemModule trait 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 StorageDriverProvider and StorageRegistry, supporting protocol sniffing from DATABASE_URL and explicit selection via DATABASE_TYPE.
    • Method-Based Decoupling: Encapsulate raw pools completely within the Database facade (db.records(), etc.).
    • Phased Implementation Matrix & Progress:
      • Phase 0 (1st Integration - [x] Completed): Core SPI & Trait abstraction; refactor PostgreSQL into PostgresProvider with 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 _counters sequence compatibility for i64 primary keys, and Wildcard indexing (data.$**).
      • Phase 4 (Production-Readiness & Release - [x] Completed): Upgrade foundry migrate for dialect-aware migrations, containerized test suites, and developer guides. (Oracle DB removed from scope due to heavy runtime dependencies).

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:

Terminal window
cargo update -p foundry