Skip to content

Project Structure

Module Layout

patternops-framework/
├── pom.xml                          # Parent POM (dependency management)
├── core/                            # Core module
│   └── src/main/java/io/patternops/core/
│       ├── model/                   # Domain models (records + enums)
│       ├── contract/                # BaseProviderContract
│       ├── service/                 # Control plane service interfaces
│       ├── parser/                  # ConfigurationParser + ConfigurationPrinter
│       ├── validation/              # PipelineValidator
│       ├── resolver/                # BindingResolver
│       ├── registry/                # DefaultProviderRegistry + ProviderInstance
│       ├── echo/                    # DefaultEchoService + State Machines
│       ├── policy/                  # DefaultPolicyEngine
│       ├── lifecycle/               # StageLifecycleExecutor + Extension Hooks
│       └── DefaultPipelineDefinitionModel.java
├── capabilities/                    # Capability contract interfaces
│   └── src/main/java/io/patternops/capabilities/
│       ├── source/                  # SourceAcquisitionContract
│       ├── execution/               # ExecutionContract
│       ├── orchestration/           # OrchestrationContract
│       ├── messaging/               # MessagingContract
│       ├── state/                   # StateManagementContract
│       ├── storage/                 # StorageContract
│       ├── replication/             # ReplicationContract
│       ├── security/                # Classification, Encryption, Tokenisation, SecretMgmt
│       ├── quality/                 # DataQualityContract
│       ├── transformation/          # TransformationContract
│       ├── extension/               # ExtensionContract
│       ├── observability/           # ObservabilityContract
│       ├── lineage/                 # LineageContract
│       ├── metrics/                 # MetricsContract
│       ├── datacontract/            # DataContractContract
│       ├── schema/                  # MessagingSchemaRegistry + GeneralSchemaRegistry
│       └── versioncontrol/          # VersionControlContract
├── providers/                       # Provider implementations
├── echo-api/                        # Echo REST API (Spring Boot)
├── mcp/                             # MCP Layer for AI integration
├── documentation/                   # Documentation Engine
├── migration/                       # Migration Accelerator
├── agent/                           # Agent Pipeline Constructor
├── build/                           # Distribution compilation
└── docs/                            # This documentation (MkDocs)

Package Naming Convention

Package Purpose
io.patternops.core.model Immutable domain records and enums
io.patternops.core.contract Base provider contract interface
io.patternops.core.service Control plane service interfaces
io.patternops.core.parser Configuration parsing and printing
io.patternops.core.validation Pipeline schema validation
io.patternops.core.resolver Capability/provider binding resolution
io.patternops.core.registry DefaultProviderRegistry implementation
io.patternops.core.echo DefaultEchoService, state machines
io.patternops.core.policy DefaultPolicyEngine implementation
io.patternops.core.lifecycle StageLifecycleExecutor, extension hooks
io.patternops.capabilities.* One sub-package per capability

Module Dependencies

graph TD
    CORE[core] --> |"no deps"| CORE
    CAP[capabilities] --> CORE
    PROV[providers] --> CORE
    PROV --> CAP
    MCP[mcp] --> CORE
    MCP --> CAP
    DOC[documentation] --> CORE
    MIG[migration] --> CORE
    MIG --> CAP
    AGENT[agent] --> CORE
    AGENT --> CAP
    AGENT --> MCP
    BUILD[build] --> CORE
    ECHO[echo-api] --> CORE

The core module has zero internal dependencies — it compiles independently and defines all shared types.

Test Structure

Tests mirror the source structure:

core/src/test/java/io/patternops/core/
├── model/                           # Unit tests for domain models
│   ├── PipelineTest.java
│   ├── StageTest.java
│   ├── MetricsEnvelopeTest.java
│   ├── DualModeTransformationTest.java
│   ├── EnumCompletenessTest.java
│   └── ...
├── parser/
│   ├── ConfigurationParserTest.java
│   ├── ConfigurationPrinterTest.java
│   └── ConfigurationRoundTripProperties.java  # jqwik PBT
├── validation/
│   ├── PipelineValidatorTest.java
│   └── SchemaValidationCompletenessProperties.java  # jqwik PBT
├── resolver/
│   └── BindingResolverTest.java
├── registry/
│   └── DefaultProviderRegistryTest.java
├── echo/
│   ├── DefaultEchoServiceTest.java
│   └── StateMachineTransitionProperties.java  # jqwik PBT
├── policy/
│   └── DefaultPolicyEngineTest.java
├── lifecycle/
│   ├── StageLifecycleExecutorTest.java
│   └── StageLifecycleOrderingProperties.java  # jqwik PBT
└── DefaultPipelineDefinitionModelTest.java