Core-first architectuur
PayCal Core bevat de canonieke domein- en controllerlogica: berekeningen, validatie, rechten, lifecyclebeleid en gedeelde API-contracten.
Core blijft bewust extensie-agnostisch. Integratiepunten zijn geïsoleerd via bridge-contracten zodat core-services onafhankelijk van runtime-specifieke pakketten kunnen worden getest.
Basisextensies in deze repository
Deze repository levert basisimplementaties van extensies die standaardgedrag bieden voor extensienaden. Ze fungeren als openbare referentiepackages en veilige defaults voor zelf gehoste deployments.
- billing-provider: basis hooks voor facturatie en moduskeuze
- earnings-ytd: basis YTD-weergave en earnings hooks
- organization-signals: basis hooks voor organisationsignalen
Model voor extensies van derden
Derden die deze repository gebruiken kunnen hun eigen extensiepackages bouwen en onderhouden. Het verwachte model is:
- Houd core-logica waar mogelijk ongewijzigd
- Implementeer aangepast gedrag in extensiepackages
- Koppel custom packages via gedocumenteerde bootstrap- en hooknaden
- Behoud core-contracten zodat upstream upgrades beheersbaar blijven
Dit maakt concurrerende en sectorspecifieke deployments mogelijk zonder langdurige forks van core-domeincode af te dwingen.
Canonieke paycal.app-differentiatie
Het canonieke https://paycal.app-platform draait private extensievarianten bovenop hetzelfde core- en basisextensieparadigma.
Deze private varianten zijn een bewuste productdifferentiatielaag voor door PayCal beheerde omgevingen. Ze kunnen workflows, capabilitygedrag en UI-specifieke integraties afstemmen terwijl compatibiliteit met dezelfde core-architectuur behouden blijft.
- Core-logica blijft gedeeld en auditbaar
- Openbare/basisextensies blijven beschikbaar in de repository
- Private extensies leveren canonieke platformdifferentiatie
Transparantieverbintenissen
- Core-contracten zijn gedocumenteerd en getest bij extensienaden
- Bridge-grenzen zijn expliciet zodat koppeling vindbaar blijft
- Extensiegedrag kan evolueren zonder core-services te destabiliseren
- Zelf gehoste gebruikers kunnen alternatieve extensiestrategieën bouwen