mirror of
https://github.com/The-Low-Code-Foundation/OpenNoodl.git
synced 2026-03-08 01:53:30 +01:00
Phase 5 - BYOB Backend (TASK-007A/B): - LocalSQL Adapter with full CloudStore API compatibility - QueryBuilder translates Parse-style queries to SQL - SchemaManager with PostgreSQL/Supabase export - LocalBackendServer with REST endpoints - BackendManager with IPC handlers for Electron - In-memory fallback when better-sqlite3 unavailable Phase 3 - GitHub Panel (GIT-004): - Issues tab with list/detail views - Pull Requests tab with list/detail views - GitHub API client with OAuth support - Repository info hook integration Phase 3 - Editor UX Bugfixes (TASK-013): - Legacy runtime detection banners - Read-only enforcement for legacy projects - Code editor modal close improvements - Property panel stuck state fix - Blockly node deletion and UI polish Phase 11 - Cloud Functions Planning: - Architecture documentation for workflow automation - Execution history storage schema design - Canvas overlay concept for debugging Docs: Updated LEARNINGS.md and COMMON-ISSUES.md
285 lines
11 KiB
Markdown
285 lines
11 KiB
Markdown
# Phase 11: Cloud Functions & Workflow Automation
|
|
|
|
**Status:** Planning
|
|
**Dependencies:** Phase 5 TASK-007 (Integrated Local Backend) - MUST BE COMPLETE
|
|
**Total Estimated Effort:** 10-12 weeks
|
|
**Strategic Goal:** Transform OpenNoodl into a viable workflow automation platform
|
|
|
|
---
|
|
|
|
## Executive Summary
|
|
|
|
Phase 11 extends the local backend infrastructure from Phase 5 TASK-007 to add workflow automation features that enable OpenNoodl to compete with tools like n8n. This phase focuses on **unique features not covered elsewhere** - execution history, cloud deployment, monitoring, advanced workflow nodes, and Python/AI runtime support.
|
|
|
|
> ⚠️ **Important:** This phase assumes Phase 5 TASK-007 is complete. That phase provides the foundational SQLite database, Express backend server, CloudRunner adaptation, and basic trigger nodes (Schedule, DB Change, Webhook).
|
|
|
|
---
|
|
|
|
## What This Phase Delivers
|
|
|
|
### 1. Advanced Workflow Nodes
|
|
|
|
Visual logic nodes that make complex workflows possible without code:
|
|
|
|
- IF/ELSE conditions with visual expression builder
|
|
- Switch nodes (multi-branch routing)
|
|
- For Each loops (array iteration)
|
|
- Merge/Split nodes (parallel execution)
|
|
- Error handling (try/catch, retry logic)
|
|
- Wait/Delay nodes
|
|
|
|
### 2. Execution History & Debugging
|
|
|
|
Complete visibility into workflow execution:
|
|
|
|
- Full execution log for every workflow run
|
|
- Input/output data captured for each node
|
|
- Timeline visualization
|
|
- Canvas overlay showing execution data
|
|
- Search and filter execution history
|
|
|
|
### 3. Cloud Deployment
|
|
|
|
One-click deployment to production:
|
|
|
|
- Docker container generation
|
|
- Fly.io, Railway, Render integrations
|
|
- Environment variable management
|
|
- SSL/domain configuration
|
|
- Rollback capability
|
|
|
|
### 4. Monitoring & Observability
|
|
|
|
Production-ready monitoring:
|
|
|
|
- Workflow performance metrics
|
|
- Error tracking and alerting
|
|
- Real-time execution feed
|
|
- Email/webhook notifications
|
|
|
|
### 5. Python Runtime & AI Nodes (Bonus)
|
|
|
|
AI-first workflow capabilities:
|
|
|
|
- Dual JavaScript/Python runtime
|
|
- Claude/OpenAI completion nodes
|
|
- LangGraph agent nodes
|
|
- Vector store integrations
|
|
|
|
---
|
|
|
|
## Phase Structure
|
|
|
|
| Series | Name | Duration | Priority |
|
|
| ------ | ----------------------------- | -------- | ------------ |
|
|
| **1** | Advanced Workflow Nodes | 2 weeks | High |
|
|
| **2** | Execution History & Debugging | 3 weeks | **Critical** |
|
|
| **3** | Cloud Deployment | 3 weeks | High |
|
|
| **4** | Monitoring & Observability | 2 weeks | Medium |
|
|
| **5** | Python Runtime & AI Nodes | 4 weeks | Medium |
|
|
|
|
**Recommended Order:** Series 1 → 2 → 3 → 4 → 5
|
|
|
|
Series 2 (Execution History) is the highest priority as it enables debugging of workflows - critical for any production use.
|
|
|
|
---
|
|
|
|
## Recommended Task Execution Order
|
|
|
|
> ⚠️ **Critical:** To avoid rework, follow this sequencing.
|
|
|
|
### Step 1: Phase 5 TASK-007 (Foundation) — DO FIRST
|
|
|
|
| Sub-task | Name | Hours | Phase 11 Needs? |
|
|
| --------- | ------------------------------ | ------ | -------------------------------------- |
|
|
| TASK-007A | LocalSQL Adapter (SQLite) | 16-20h | **YES** - CF11-004 reuses patterns |
|
|
| TASK-007B | Backend Server (Express) | 12-16h | **YES** - Execution APIs live here |
|
|
| TASK-007C | Workflow Runtime (CloudRunner) | 12-16h | **YES** - All workflow nodes need this |
|
|
| TASK-007D | Launcher Integration | 8-10h | No - Can defer |
|
|
| TASK-007E | Migration/Export | 8-10h | No - Can defer |
|
|
| TASK-007F | Standalone Deployment | 8-10h | No - Can defer |
|
|
|
|
**Start with TASK-007A/B/C only** (~45h). This creates the foundation without doing unnecessary work.
|
|
|
|
### Step 2: Phase 11 Series 1 & 2 (Core Workflow Features)
|
|
|
|
Once TASK-007A/B/C are complete:
|
|
|
|
1. **CF11-001 → CF11-003** (Advanced Nodes) - 2 weeks
|
|
2. **CF11-004 → CF11-007** (Execution History) - 3 weeks ⭐ PRIORITY
|
|
|
|
### Step 3: Continue Either Phase
|
|
|
|
At this point, you can:
|
|
|
|
- Continue Phase 11 (Series 3-5: Deployment, Monitoring, AI)
|
|
- Return to Phase 5 (TASK-007D/E/F: Launcher, Migration, Deployment)
|
|
|
|
### Why This Order?
|
|
|
|
If CF11-004 (Execution Storage) is built **before** TASK-007A (SQLite Adapter):
|
|
|
|
- Two independent SQLite implementations would be created
|
|
- Later refactoring needed to harmonize patterns
|
|
- **~4-8 hours of preventable rework**
|
|
|
|
The CloudRunner (TASK-007C) must exist before any workflow nodes can be tested.
|
|
|
|
---
|
|
|
|
## Dependency Graph
|
|
|
|
```
|
|
Phase 5 TASK-007 (Local Backend)
|
|
│
|
|
├── SQLite Adapter ✓
|
|
├── Backend Server ✓
|
|
├── CloudRunner ✓
|
|
├── Basic Triggers ✓
|
|
│
|
|
▼
|
|
┌─────────────────────────────────────────────────────┐
|
|
│ PHASE 11 │
|
|
├─────────────────────────────────────────────────────┤
|
|
│ │
|
|
│ Series 1: Advanced Nodes ─┬─► Series 2: Exec History
|
|
│ │ │
|
|
│ │ ▼
|
|
│ └─► Series 3: Deployment
|
|
│ │
|
|
│ ▼
|
|
│ Series 4: Monitoring
|
|
│ │
|
|
│ ▼
|
|
│ Series 5: Python/AI
|
|
│ │
|
|
└─────────────────────────────────────────────────────┘
|
|
```
|
|
|
|
---
|
|
|
|
## Task List
|
|
|
|
### Series 1: Advanced Workflow Nodes (2 weeks)
|
|
|
|
| Task | Name | Effort | Status |
|
|
| -------- | --------------------------------------- | ------ | ----------- |
|
|
| CF11-001 | Logic Nodes (IF/Switch/ForEach/Merge) | 12-16h | Not Started |
|
|
| CF11-002 | Error Handling Nodes (Try/Catch, Retry) | 8-10h | Not Started |
|
|
| CF11-003 | Wait/Delay Nodes | 4-6h | Not Started |
|
|
|
|
### Series 2: Execution History (3 weeks) ⭐ PRIORITY
|
|
|
|
| Task | Name | Effort | Status |
|
|
| -------- | ---------------------------- | ------ | ----------- |
|
|
| CF11-004 | Execution Storage Schema | 8-10h | Not Started |
|
|
| CF11-005 | Execution Logger Integration | 8-10h | Not Started |
|
|
| CF11-006 | Execution History Panel UI | 12-16h | Not Started |
|
|
| CF11-007 | Canvas Execution Overlay | 8-10h | Not Started |
|
|
|
|
### Series 3: Cloud Deployment (3 weeks)
|
|
|
|
| Task | Name | Effort | Status |
|
|
| -------- | --------------------------- | ------ | ----------- |
|
|
| CF11-008 | Docker Container Builder | 10-12h | Not Started |
|
|
| CF11-009 | Fly.io Deployment Provider | 8-10h | Not Started |
|
|
| CF11-010 | Railway Deployment Provider | 6-8h | Not Started |
|
|
| CF11-011 | Cloud Deploy Panel UI | 10-12h | Not Started |
|
|
|
|
### Series 4: Monitoring & Observability (2 weeks)
|
|
|
|
| Task | Name | Effort | Status |
|
|
| -------- | ------------------------- | ------ | ----------- |
|
|
| CF11-012 | Metrics Collection System | 8-10h | Not Started |
|
|
| CF11-013 | Monitoring Dashboard UI | 12-16h | Not Started |
|
|
| CF11-014 | Alerting System | 6-8h | Not Started |
|
|
|
|
### Series 5: Python Runtime & AI Nodes (4 weeks)
|
|
|
|
| Task | Name | Effort | Status |
|
|
| -------- | --------------------- | ------ | ----------- |
|
|
| CF11-015 | Python Runtime Bridge | 12-16h | Not Started |
|
|
| CF11-016 | Python Core Nodes | 10-12h | Not Started |
|
|
| CF11-017 | Claude/OpenAI Nodes | 10-12h | Not Started |
|
|
| CF11-018 | LangGraph Agent Node | 12-16h | Not Started |
|
|
| CF11-019 | Language Toggle UI | 6-8h | Not Started |
|
|
|
|
---
|
|
|
|
## What's NOT in This Phase
|
|
|
|
### Handled by Phase 5 TASK-007
|
|
|
|
- ❌ SQLite database adapter (TASK-007A)
|
|
- ❌ Express backend server (TASK-007B)
|
|
- ❌ CloudRunner adaptation (TASK-007C)
|
|
- ❌ Basic trigger nodes (Schedule, DB Change, Webhook)
|
|
- ❌ Schema management
|
|
- ❌ Launcher integration
|
|
|
|
### Deferred to Future Phase
|
|
|
|
- ❌ External integrations (Slack, SendGrid, Stripe, etc.) - See `FUTURE-INTEGRATIONS.md`
|
|
- ❌ Workflow marketplace/templates
|
|
- ❌ Multi-user collaboration
|
|
- ❌ Workflow versioning/Git integration
|
|
- ❌ Queue/job system
|
|
|
|
---
|
|
|
|
## Success Criteria
|
|
|
|
### Functional
|
|
|
|
- [ ] Can create IF/ELSE workflows with visual expression builder
|
|
- [ ] Can view complete execution history with node-by-node data
|
|
- [ ] Can debug failed workflows by pinning execution to canvas
|
|
- [ ] Can deploy workflows to Fly.io with one click
|
|
- [ ] Can monitor workflow performance in real-time
|
|
- [ ] Can create Python workflows for AI use cases
|
|
- [ ] Can use Claude/OpenAI APIs in visual workflows
|
|
|
|
### User Experience
|
|
|
|
- [ ] Creating a conditional workflow takes < 3 minutes
|
|
- [ ] Debugging failed workflows takes < 2 minutes
|
|
- [ ] Deploying to production takes < 5 minutes
|
|
- [ ] Setting up AI chat assistant takes < 10 minutes
|
|
|
|
### Technical
|
|
|
|
- [ ] Workflow execution overhead < 50ms
|
|
- [ ] Execution history queries < 100ms
|
|
- [ ] Real-time monitoring updates < 1 second latency
|
|
- [ ] Can handle 1000 concurrent workflow executions
|
|
|
|
---
|
|
|
|
## Risk Assessment
|
|
|
|
| Risk | Impact | Mitigation |
|
|
| -------------------------------- | ------------ | ------------------------------------------------- |
|
|
| Phase 5 TASK-007 not complete | **BLOCKING** | Do not start Phase 11 until TASK-007 is done |
|
|
| Python runtime complexity | High | Start with JS-only, add Python as separate series |
|
|
| Deployment platform variability | Medium | Focus on Fly.io first, add others incrementally |
|
|
| Execution history storage growth | Medium | Implement retention policies early |
|
|
|
|
---
|
|
|
|
## References
|
|
|
|
- [Phase 5 TASK-007: Integrated Local Backend](../phase-5-multi-target-deployment/01-byob-backend/TASK-007-integrated-backend/README.md)
|
|
- [Cloud Functions Revival Plan (Original)](./cloud-functions-revival-plan.md)
|
|
- [Native BaaS Integrations](../../future-projects/NATIVE-BAAS-INTEGRATIONS.md)
|
|
- [Phase 10: AI-Powered Development](../phase-10-ai-powered-development/README.md)
|
|
|
|
---
|
|
|
|
## Changelog
|
|
|
|
| Date | Change |
|
|
| ---------- | ---------------------------------------------------- |
|
|
| 2026-01-15 | Restructured to remove overlap with Phase 5 TASK-007 |
|
|
| 2026-01-15 | Prioritized Execution History over Cloud Deployment |
|
|
| 2026-01-15 | Moved integrations to future work |
|