feat(backend): implement v2 domain slice and live smoke
This commit is contained in:
@@ -178,11 +178,17 @@ Tables:
|
||||
3. `workforce`
|
||||
4. `applications`
|
||||
5. `assignments`
|
||||
6. `staff_reviews`
|
||||
7. `staff_favorites`
|
||||
|
||||
Rules:
|
||||
1. One active workforce relation per `(vendor_id, staff_id)`.
|
||||
2. One application per `(shift_id, role_id, staff_id)` unless versioned intentionally.
|
||||
3. Assignment state transitions only through command APIs.
|
||||
4. Business quality signals are relational:
|
||||
- `staff_reviews` stores rating and review text from businesses,
|
||||
- `staff_favorites` stores reusable staffing preferences,
|
||||
- aggregate rating is materialized on `staffs`.
|
||||
|
||||
## 4.5 Compliance and Verification
|
||||
Tables:
|
||||
@@ -222,19 +228,22 @@ Rules:
|
||||
|
||||
## 4.9 Attendance, Timesheets, and Offense Governance
|
||||
Tables:
|
||||
1. `attendance_events` (append-only: clock-in/out, source, correction metadata)
|
||||
2. `attendance_sessions` (derived work session per assignment)
|
||||
3. `timesheets` (approval-ready payroll snapshot)
|
||||
4. `timesheet_adjustments` (manual edits with reason and actor)
|
||||
5. `offense_policies` (tenant/business scoped policy set)
|
||||
6. `offense_rules` (threshold ladder and consequence)
|
||||
7. `offense_events` (actual violation events)
|
||||
8. `enforcement_actions` (warning, suspension, disable, block)
|
||||
1. `clock_points` (approved tap and geo validation points per business or venue)
|
||||
2. `attendance_events` (append-only: clock-in/out, source, NFC, geo, correction metadata)
|
||||
3. `attendance_sessions` (derived work session per assignment)
|
||||
4. `timesheets` (approval-ready payroll snapshot)
|
||||
5. `timesheet_adjustments` (manual edits with reason and actor)
|
||||
6. `offense_policies` (tenant/business scoped policy set)
|
||||
7. `offense_rules` (threshold ladder and consequence)
|
||||
8. `offense_events` (actual violation events)
|
||||
9. `enforcement_actions` (warning, suspension, disable, block)
|
||||
|
||||
Rules:
|
||||
1. Attendance corrections are additive events, not destructive overwrites.
|
||||
2. Offense consequences are computed from policy + history and persisted as explicit actions.
|
||||
3. Manual overrides require actor, reason, and timestamp in audit trail.
|
||||
2. NFC and geo validation happens against `clock_points`, not hardcoded client logic.
|
||||
3. Rejected attendance attempts are still logged as events for audit.
|
||||
4. Offense consequences are computed from policy + history and persisted as explicit actions.
|
||||
5. Manual overrides require actor, reason, and timestamp in audit trail.
|
||||
|
||||
## 4.10 Stakeholder Network Extensibility
|
||||
Tables:
|
||||
|
||||
Reference in New Issue
Block a user