SHARED C COMPONENTS
Sykes Shared Components
The Sykes architecture includes a reusable C component layer beneath the named applications and tools. Its current structure includes the Base Layer, UI, LSM, and room for additional focused components as the system develops.
Shared foundations, focused owners
The component layer contains reusable implementation building blocks. Higher-level components keep their distinct responsibilities while depending on shared code where that boundary is useful.
- Keep common foundations reusable.
- Keep product, engine, database, and tooling responsibilities explicit.
- Add components in response to concrete system needs.
The common foundation
The Base Layer is the foundational part of the shared component system. It provides a named home for low-level functionality that should not be reimplemented independently by every higher-level component.
- Sits at the bottom of the component architecture.
- Supports reuse across focused components.
- Remains separate from user-facing product behavior.
Reusable interface building blocks
UI is the shared component area for visual interface work. It supports tools that need a graphical surface while allowing the Application and DB Inspector to keep different audiences and responsibilities.
- Support consistent interface implementation.
- Serve more than one visual tool where appropriate.
- Do not merge Application and Inspector workflows.
The shared storage component
LSM is the shared component behind the current write-oriented database direction. Sykes DB uses that focused storage capability while remaining responsible for CRDT operation history, durability, replication, and recovery.
- Provide the LSM-oriented storage implementation.
- Support the write-heavy shape of CRDT operation history.
- Keep storage mechanics distinct from database product semantics.
Extend the layer when boundaries become clear
The architecture leaves room for more focused shared components. Their names and responsibilities should be introduced only when the implementation establishes a clear reusable boundary.
- Avoid naming speculative components too early.
- Prefer small, explicit ownership boundaries.
- Document new components as the architecture develops.
NEXT STEP
Shared components support the complete Sykes system
The Base Layer, UI, and LSM provide reusable C foundations while the Application, Engine, Sykes DB, DB Inspector, and Editor Plugins retain focused responsibilities.