Core domain and application crate for FSCL.
It contains:
- domain types such as
ResourceId,Component, andDomainEvent - application workflows such as
ComponentLifecycleUow - ports for repository, unit-of-work, and event publishing
- a small bridge to
fscl-messagingfor building shared event envelopes
fscl-core
|
+--> fscl-messaging
view services
|
+--> fscl-core
fscl-core depends on fscl-messaging because it exposes a bridge helper in core::messaging for constructing EventEnvelope values from core identifiers.
fscl-core -> domain model, workflows, ports
fscl-messaging -> wire contract, outbox contract, schema constants
service crates -> persistence, transport adapters, runtime config
fscl-core should not own deployment configuration. It only exposes reusable code contracts.
fscl-core has no runtime env contract of its own.
Relevant exported messaging constants come from fscl-messaging:
OUTBOX_NOTIFY_CHANNEL: fixed outbox notify channel contractOUTBOX_TABLE: outbox table name contractOUTBOX_SCHEMA_VERSION: schema compatibility marker
These are code-level contract values, not deployment-time settings.
cd fscl-core
cargo testNo .env file is required for this crate.
Scaffold only: fscl-core is not deployed directly to Kubernetes.
It is consumed by deployed binaries such as:
fscl-process-svcfscl-outbox-publisher