Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion .github/ISSUE_TEMPLATE/bug_report.md
Original file line number Diff line number Diff line change
Expand Up @@ -29,7 +29,7 @@ What actually happens?
- Elixir version: (run `elixir --version`)
- Erlang/OTP version: (run `erl -eval 'erlang:halt(0).'`)
- PostgreSQL version: (run `psql --version`)
- QuantumFlow version: 0.1.0
- Singularity.Workflow version: 1.0.x
- OS: (e.g., macOS, Ubuntu, etc.)

## Minimal Code Example
Expand Down
2 changes: 1 addition & 1 deletion .github/ISSUE_TEMPLATE/feature_request.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
---
name: Feature Request
about: Suggest an idea for improving QuantumFlow
about: Suggest an idea for improving Singularity.Workflow
title: "[FEATURE] "
labels: enhancement
---
Expand Down
12 changes: 6 additions & 6 deletions .github/ISSUE_TEMPLATE/question.md
Original file line number Diff line number Diff line change
@@ -1,13 +1,13 @@
---
name: Question
about: Ask a question about QuantumFlow
about: Ask a question about Singularity.Workflow
title: "[QUESTION] "
labels: question
---

## Question

What would you like to know about QuantumFlow?
What would you like to know about Singularity.Workflow?

## Context

Expand All @@ -18,10 +18,10 @@ Provide any relevant context about your question:

## Documentation Checked

- [ ] [GETTING_STARTED.md](https://github.com/mikkihugo/quantum_flow/blob/main/GETTING_STARTED.md)
- [ ] [ARCHITECTURE.md](https://github.com/mikkihugo/quantum_flow/blob/main/ARCHITECTURE.md)
- [ ] Generated API docs (https://hexdocs.pm/quantum_flow)
- [ ] [docs/ reference materials](https://github.com/mikkihugo/quantum_flow/tree/main/docs)
- [ ] [GETTING_STARTED.md](https://github.com/Singularity-ng/singularity-workflows/blob/main/GETTING_STARTED.md)
- [ ] [ARCHITECTURE.md](https://github.com/Singularity-ng/singularity-workflows/blob/main/ARCHITECTURE.md)
- [ ] Generated API docs (https://hexdocs.pm/singularity_workflow)
- [ ] [docs/ reference materials](https://github.com/Singularity-ng/singularity-workflows/tree/main/docs)

## Code Example (if applicable)

Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/docker-build.yml
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@ on:

env:
REGISTRY: ghcr.io
IMAGE_NAME: mikkihugo/quantum_flow-postgres
IMAGE_NAME: singularity-ng/singularity_workflow-postgres

jobs:
build-postgres:
Expand Down
8 changes: 4 additions & 4 deletions .github/workflows/publish.yml
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,7 @@ jobs:
env:
POSTGRES_USER: postgres
POSTGRES_PASSWORD: postgres
POSTGRES_DB: quantum_flow_test
POSTGRES_DB: singularity_workflow_test
options: >-
--health-cmd pg_isready
--health-interval 10s
Expand All @@ -41,9 +41,9 @@ jobs:
# Wait for PostgreSQL to be ready
until pg_isready -h localhost -U postgres; do sleep 1; done
# Create the database if it doesn't exist
PGPASSWORD=postgres psql -h localhost -U postgres -c "CREATE DATABASE IF NOT EXISTS quantum_flow_test;"
PGPASSWORD=postgres psql -h localhost -U postgres -c "CREATE DATABASE IF NOT EXISTS singularity_workflow_test;"
# pgmq extension is pre-installed in tembo/pgmq image
PGPASSWORD=postgres psql -h localhost -U postgres -d quantum_flow_test -c "CREATE EXTENSION IF NOT EXISTS pgmq;"
PGPASSWORD=postgres psql -h localhost -U postgres -d singularity_workflow_test -c "CREATE EXTENSION IF NOT EXISTS pgmq;"

- name: Restore dependencies cache
uses: actions/cache@v4
Expand All @@ -61,7 +61,7 @@ jobs:
MIX_ENV: test
POSTGRES_USER: postgres
POSTGRES_PASSWORD: postgres
POSTGRES_DB: quantum_flow_test
POSTGRES_DB: singularity_workflow_test
POSTGRES_HOST: localhost

- name: Check formatting
Expand Down
8 changes: 4 additions & 4 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -25,14 +25,14 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0

### Added

- Initial release of QuantumFlow - Elixir implementation of QuantumFlow's database-driven DAG execution
- Complete feature parity with QuantumFlow including:
- Initial release of Singularity.Workflow - Elixir implementation of database-driven DAG execution
- Complete feature parity including:
- **DAG Workflow Support**: Define workflows with explicit dependencies between steps
- **Parallel Execution**: Automatically execute independent steps in parallel
- **Map Steps**: Execute the same step across multiple items (map/reduce pattern)
- **Dependency Merging**: Steps can depend on multiple other steps
- **Database-First Coordination**: PostgreSQL + pgmq for reliable task coordination
- **Multi-Instance Scaling**: Multiple QuantumFlow instances can safely execute the same workflows
- **Multi-Instance Scaling**: Multiple Singularity.Workflow instances can safely execute the same workflows
- **Visibility Timeout Pattern**: Automatic retry if task executor crashes
- **Comprehensive Testing**: 160+ tests covering all execution paths

Expand Down Expand Up @@ -87,7 +87,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0

### Known Limitations (v0.1.0)

- Step definitions use legacy Elixir module functions (not JSON-based like QuantumFlow)
- Step definitions use Elixir module functions
- Plan to support JSON workflow definitions in v0.2.0
- Conditional step execution not yet supported
- Plan for v0.2.0
Expand Down
20 changes: 10 additions & 10 deletions CONTRIBUTING.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
# Contributing to QuantumFlow
# Contributing to Singularity.Workflow

Thank you for your interest in QuantumFlow! This document provides guidelines for contributing to the project.
Thank you for your interest in Singularity.Workflow! This document provides guidelines for contributing to the project.

## Getting Started

Expand Down Expand Up @@ -48,7 +48,7 @@ mix test
mix test

# Run specific test file
mix test test/QuantumFlow/executor_test.exs
mix test test/singularity_workflow/executor_test.exs

# Run tests with coverage report
mix test.coverage
Expand All @@ -59,7 +59,7 @@ mix test.watch

### Code Quality

QuantumFlow enforces high code quality standards:
Singularity.Workflow enforces high code quality standards:

```bash
# Run all quality checks (recommended before committing)
Expand All @@ -75,7 +75,7 @@ mix deps.audit # Check dependencies for vulnerabilities

### Code Style

QuantumFlow follows standard Elixir conventions:
Singularity.Workflow follows standard Elixir conventions:

1. **Formatting**: Run `mix format` before committing
2. **Line Length**: Maximum 100 characters (enforced in .formatter.exs)
Expand Down Expand Up @@ -138,7 +138,7 @@ All code contributions must include:

### Database-First Design

QuantumFlow uses PostgreSQL as the source of truth. When adding features:
Singularity.Workflow uses PostgreSQL as the source of truth. When adding features:

1. **Schema Changes**: Create migrations for all schema additions
2. **SQL Functions**: Complex logic lives in PostgreSQL functions (for atomicity)
Expand Down Expand Up @@ -186,7 +186,7 @@ When working with workflows:

```
singularity_workflow/
├── lib/QuantumFlow/
├── lib/singularity_workflow/
│ ├── executor.ex # Main entry point
│ ├── flow_builder.ex # Dynamic workflow API
│ ├── repo.ex # Ecto repository
Expand All @@ -200,7 +200,7 @@ singularity_workflow/
├── priv/repo/
│ └── migrations/ # Database migrations
├── test/
│ ├── QuantumFlow/
│ ├── singularity_workflow/
│ │ └── *_test.exs # Unit/integration tests
│ └── support/
│ └── sql_case.ex # Test helpers
Expand Down Expand Up @@ -324,7 +324,7 @@ Reviewers may request changes. Please:

## Release Process

QuantumFlow follows [Semantic Versioning](https://semver.org/):
Singularity.Workflow follows [Semantic Versioning](https://semver.org/):

- **0.1.0** (current): Initial release, API may change
- **0.x.0**: Minor versions (new features, API additions)
Expand All @@ -348,4 +348,4 @@ Only maintainers can publish releases:
- **Architecture questions**: See [ARCHITECTURE.md](docs/ARCHITECTURE.md)
- **Issue or PR**: Open a GitHub issue

Thank you for contributing to QuantumFlow!
Thank you for contributing to Singularity.Workflow!
16 changes: 8 additions & 8 deletions GETTING_STARTED.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
# Getting Started with QuantumFlow
# Getting Started with Singularity.Workflow

QuantumFlow is an Elixir implementation of [QuantumFlow](https://github.com/singularity_workflow-dev/QuantumFlow), a database-driven DAG execution engine. This guide walks you through installation, basic setup, and running your first workflow.
Singularity.Workflow is an Elixir implementation of [Singularity.Workflow](https://github.com/singularity_workflow-dev/Singularity.Workflow), a database-driven DAG execution engine. This guide walks you through installation, basic setup, and running your first workflow.

## Installation

Expand All @@ -22,15 +22,15 @@ mix deps.get

## Database Setup

QuantumFlow requires PostgreSQL 14+ with the `pgmq` extension:
Singularity.Workflow requires PostgreSQL 14+ with the `pgmq` extension:

### 1. Create a PostgreSQL Database

```bash
createdb my_app
```

### 2. Add QuantumFlow Repository
### 2. Add Singularity.Workflow Repository

Configure Ecto in your app to include the Singularity.Workflow.Repo:

Expand All @@ -57,7 +57,7 @@ psql my_app -c "CREATE EXTENSION IF NOT EXISTS pgmq"
### 4. Run Migrations

```bash
# Generate migrations for QuantumFlow tables
# Generate migrations for Singularity.Workflow tables
mix ecto.gen.migration init_singularity_workflow

# Run all migrations
Expand Down Expand Up @@ -155,7 +155,7 @@ IO.inspect(run.status) # => "completed"

## DAG Workflows with Dependencies

QuantumFlow supports complex DAG workflows with parallel execution and dependency management:
Singularity.Workflow supports complex DAG workflows with parallel execution and dependency management:

```elixir
defmodule MyApp.Workflows.DataPipeline do
Expand Down Expand Up @@ -394,7 +394,7 @@ For the complete guide, see [HTDAG_ORCHESTRATOR_GUIDE.md](docs/HTDAG_ORCHESTRATO

## Configuration

QuantumFlow respects these environment variables:
Singularity.Workflow respects these environment variables:

```bash
# PostgreSQL connection
Expand Down Expand Up @@ -448,7 +448,7 @@ Executor.execute_pending_tasks()

### Type errors in custom workflows

QuantumFlow uses Dialyzer for type checking. Run:
Singularity.Workflow uses Dialyzer for type checking. Run:

```bash
mix dialyzer
Expand Down
8 changes: 4 additions & 4 deletions SECURITY.md
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,7 @@ Include in your report:

## Security Considerations

QuantumFlow is designed for workflow orchestration in trusted environments. Here are important security practices:
Singularity.Workflow is designed for workflow orchestration in trusted environments. Here are important security practices:

### Database Security

Expand Down Expand Up @@ -107,11 +107,11 @@ QuantumFlow is designed for workflow orchestration in trusted environments. Here

## Security Audit

QuantumFlow has been reviewed for common vulnerabilities. See [SECURITY_AUDIT.md](docs/SECURITY_AUDIT.md) for detailed findings.
Singularity.Workflow has been reviewed for common vulnerabilities. See [SECURITY_AUDIT.md](docs/SECURITY_AUDIT.md) for detailed findings.

## Dependencies

QuantumFlow uses well-maintained Elixir packages. Dependency security is monitored with:
Singularity.Workflow uses well-maintained Elixir packages. Dependency security is monitored with:
- `mix deps.audit` - Check for known vulnerabilities
- Regular dependency updates
- GitHub Dependabot alerts
Expand Down Expand Up @@ -150,4 +150,4 @@ For security-related questions that aren't vulnerabilities, open an issue with t
---

Last Updated: 2025-01-10
QuantumFlow Version: 0.1.0
Singularity.Workflow Version: 1.0.x
Loading
Loading