rimba / laras
Integration layer for external systems (APIs, imports/exports).
v1.4.4
2026-09-09 07:33 UTC
Requires
- php: ^8.3
- rimba/asas: ^1.3
Requires (Dev)
None
Suggests
None
Provides
None
Conflicts
None
Replaces
None
This package is auto-updated.
Last update: 2026-09-09 07:33:45 UTC
README
Purpose
Extends rimba/laras with a rerunnable HRDB-to-WFM synchronization pipeline. It synchronizes Staff independently from User, captures normalized snapshots, detects differences, resolves master data, and applies WFM workforce transitions.
Ownership
rimba/larasowns source ingestion, sync runs, snapshots, differences, normalization, and classification.rimba/orangownsStaffidentity only.rimba/pihakowns organization master data.rimba/jawatowns job positions.rimba/waktuowns shifts.rimba/wfmownsWorkforceAssignment,WorkforceEvent, and lifecycle transitions.
Pipeline
- Fetch source through the existing Laras
rimba:fetchcommand, unless--no-fetchis used. - Read
ApiDatarecords for the selectedApiConfig. - Normalize the HRDB payload and remove credentials and irrelevant fields.
- Compare the normalized checksum with the previous successful snapshot.
- Synchronize Staff and referenced master data.
- Detect changes against the previous snapshot.
- Classify the combined changes as a WFM event.
- Apply the event through
WorkforceAssignmentService. - Store the new immutable snapshot and detailed change records.
- Complete the run with auditable counters.
Idempotency
- Source identity is
uuidby default. - An unchanged checksum is skipped.
- Snapshots are unique by sync run and source UUID.
- WFM event references use
hrdb:{source_uuid}:{checksum}. - Reprocessing the same source state does not create another WFM event.
Staff and User
This pipeline never creates, updates, or links a User. Staff synchronization is independent.