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