Platform Blueprint¶
Status¶
Foundational Architecture Blueprint
Purpose¶
This document defines the target logical architecture of CMonChoix Platform.
It describes the architectural destination independently from the historical WordPress plugin, deployment topology and temporary compatibility layers.
Scope¶
This blueprint applies to the logical Platform architecture:
- Contracts;
- Domain Core;
- Business Capabilities and Vertical Modules;
- Read Services;
- Write Services;
- Pipeline;
- Projection;
- Runtime;
- Adapters;
- Infrastructure;
- Governance;
- Media Quality.
It does not define a physical directory layout, a deployment unit or a migration schedule.
Central Decision¶
The Platform architecture is defined independently from WordPress.
The canonical plugin at:
plugins/ccx-feeds-industrial
is the current production integration surface and an important source of business knowledge, but it does not define the target architecture.
Migrated, rewritten or newly created components must follow this blueprint while preserving validated runtime compatibility.
Target Model¶
External Sources
│
▼
Adapters / Ingestion
│
▼
Pipeline
│
├── normalization
├── enrichment
└── evidence collection
│
▼
Domain Core + Vertical Knowledge
│
├── candidates
├── resolution
├── canonical identity
├── conflicts
└── quality decisions
│
▼
Projection Builders
│
▼
Write Services
│
▼
Certified Projections
│
├── Frontend
├── SEO
├── API
├── Export
└── Read Services
The Runtime orchestrates this flow but never creates business truth.
Architecture Principles¶
Platform First¶
The Platform defines the architecture.
Legacy code can inform migration decisions but never defines the target boundaries.
Domain First¶
Business truth belongs to the Domain Core and specialized business capabilities.
The Domain Core must not depend on WordPress, frontend code, pipeline code, runtime code or concrete persistence.
Evidence First¶
Product identity and quality decisions are established from observable evidence.
Identifiers, titles, attributes, source context and media signals are evidence. None of them becomes canonical truth in isolation.
Identifier First¶
Available identifiers contribute to identity resolution:
- EAN / GTIN;
- merchant SKU;
- manufacturer reference;
- brand;
- model;
- technical attributes;
- source trust signals.
EAN is a strong signal, not a universal authority.
Canonical Identity¶
Each resolved product owns one stable Canonical Identity.
Merchant data, variants and projections remain attached to that identity without redefining it.
Read / Write Separation¶
Read Services audit, simulate, compare and report.
They never mutate business data.
Write Services are the only authorized business mutation boundary. Every write must be explicit, auditable and reversible whenever possible.
Projection Separation¶
Projection Builders construct deterministic representations.
They do not persist data. Persistence is delegated to Write Services.
Business Capability First¶
Each business capability owns its specific rules.
Smartphone, Photo and future vertical knowledge must remain isolated from the generic Domain Core.
A capability must never depend on another capability.
Audit Before Mutation¶
Every significant change follows this sequence:
audit
↓
simulation
↓
comparison
↓
validation
↓
explicit write
↓
post-write verification
Production mutation is never the discovery mechanism.
Explicit Dependencies¶
Every dependency must be visible, justified and compatible with the dependency contract.
Hidden dependencies, circular dependencies and direct access to legacy writers are forbidden.
Determinism¶
Identical certified inputs and configuration must produce identical decisions and projections.
Results must expose stable statuses, reason codes and evidence suitable for audit.
Layer Responsibilities¶
| Layer | Owns | Must not own |
|---|---|---|
| Contracts | Stable interfaces, DTOs, statuses and reason conventions | Business rules or technical execution |
| Domain Core | Generic business concepts and invariants | Vertical or transport-specific logic |
| Vertical Modules | Product-family knowledge and local conflict rules | Generic orchestration or cross-vertical dependencies |
| Pipeline | Transformation, normalization and evidence preparation | Canonical business truth |
| Read Services | Audit, simulation, comparison and reports | Writes |
| Projection Builders | Deterministic representations | Persistence or identity resolution |
| Write Services | Explicit business mutations | Frontend rendering or hidden rule evaluation |
| Runtime | Orchestration, retries, scheduling and execution context | New business rules |
| Adapters | Translation between external systems and Platform contracts | Business decisions |
| Infrastructure | Persistence and technical mechanisms | Use-case orchestration |
| Frontend | Consumption and display of certified projections | Identity, quality or feed recalculation |
Result Model¶
Cross-layer decisions should use a stable result model containing, where relevant:
- status;
- reason code;
- evidence;
- confidence or severity;
- source context;
- rule and engine version;
- audit metadata.
Canonical decision states include:
| State | Meaning |
|---|---|
resolved |
Sufficient evidence supports one stable result |
unknown |
Evidence is insufficient |
ambiguous |
Several plausible outcomes remain |
conflict |
Incompatible evidence blocks a safe decision |
Layers may expose more precise local sub-statuses, but they must map unambiguously to these canonical states.
Media Quality Position¶
Media Quality is a quality capability operating on projection-ready evidence.
Its default mode is audit-first and non-destructive:
projection evidence
│
▼
media-quality engine
│
├── matched
├── mismatched
├── unknown
└── ambiguous
│
▼
audit / simulation / report
A rule may recommend a replacement or cleanup action, but it must not directly mutate projection data.
Any applied correction must cross an explicit Write Service or certified rebuild path.
Runtime and Compatibility¶
The Runtime may compose Application, Infrastructure and Adapters to execute certified workflows.
Compatibility wrappers and shims may remain temporarily when they:
- preserve existing runtime behavior;
- expose no new business truth;
- remain documented;
- have a bounded migration purpose;
- do not create new dependencies from foundational layers toward legacy code.
Legacy is removed only after proof of non-usage and post-removal validation.
Target Logical Structure¶
platform/
contracts/
domain-core/
business-capabilities/
vertical-modules/
read-services/
write-services/
pipeline/
projection/
media-quality/
runtime/
adapters/
infrastructure/
governance/
This structure represents logical responsibilities, not necessarily physical directories.
Architectural Tests¶
The blueprint is expected to be enforced through tests and automated checks covering at least:
- forbidden namespace dependencies;
- Read Service write prohibition;
- projection determinism;
- stable result statuses and reason codes;
- absence of frontend business recalculation;
- explicit Write Service boundaries;
- vertical isolation;
- audit-first Media Quality behavior;
- compatibility wrapper loading where still required.
Documentation alone is not sufficient evidence of compliance.
Related Documents¶
- Platform Vision
- Architecture Overview
- Architecture Principles
- Architecture Invariants
- Architecture Dependencies
- Identifier First
- Canonical Identity
- Media Quality Engine
- Runtime Overview
- Projection Engine
Related ADR¶
None currently.
Future Evolution¶
This blueprint may evolve when new architectural boundaries are validated by implementation, tests and operational evidence.
Any evolution must preserve dependency direction, audit-before-write behavior, deterministic results and the independence of business truth from technical adapters.