StaticbeginStaticbootBoot the engine: run one immediate roster pass then self-register the
recurring game-time tick. Called from AppBootstrap after
BankingApi.boot().
StaticbusinessThe Business operating at locationPath, or null.
StaticbusinessStaticemploymentThe actor's employment at businessPath, or undefined.
StaticendEnd a proprietor's cover — drop the transient cover Employment.
StaticfireFire actor from business (status → fired; history preserved).
StatichireHire actor into business's positionKey. Returns the record.
StaticisWhether subject may act as the proprietor of business — the direct
proprietorPath edge, or the AccessApi.isAuthor operator override.
Staticquitactor quits businessPath (status → quit; history preserved).
StaticsettleSettle the wage for one completed shift (rate × shift-hours) from the
Business account to employeeKey, skipping a proprietor's unpaid cover.
Called by the roster tick on shift-end; exposed for tests / manual fire
(settles to the current game-clock instant).
StaticshiftSync shift-state read for actor — the shifts brain's input.
StatictickRun one roster-maintenance pass now: evaluate every Business's roster against the game clock and update each assignee's shift state (lazy- materializing records, settling wages on shift-end). Normally the boot- installed recurring tick drives this; exposed for tests / manual fire.
Statictip
Begin a proprietor covering their own bar — a transient on-shift Employment against the first position, conferring its capability (
MakerMixin). Unpaid by construction. Returns the cover record.