- Shipped
- October 18, 2026 at 7:19 PM UTC
- Author
- Kamo
- Commit
- 732a9dc
25 tools, so an SI does in HR -> Attendance, Payroll and My Commissions what a person does, within its rights, through SecurityService's TimecardController, PayrollRelayController, PayrollProviderRelayController and CommissionController as the SI member (its OTK): - timecards_* (TimecardsPack): my_status, get (a card and its whole approval trail), approval_queue (the line manager's), list_punches (day or range), roster (or the HR summary), list_exceptions, pto_balance, list_breaks, attendance; and the pay-affecting acts approve (APPROVE, APPROVE_ON_BEHALF, SEND_BACK, UNAPPROVE), correct_punch (CORRECT / VOID / INSERT), waive_exception, use_pto, adjust_pto, decide_break (PAID / WAIVED / DISPUTED), which are COMMIT_PRICING (APPROVE_BEFORE: on its own initiative an SI asks a person; a cited request is the approval), and excuse_attendance (UPDATE_RECORD). SecurityService decides the timecard capacity from the session (payroll, manager right, or line manager) and checks it there; a line manager holds no right, so those tools name none. An SI never acts on its own card's approval; submitting and attesting breaks (the employee's own statements) are not offered. Every reason stands on the wage record, so these are disclosing (NOTE/SHARE to the member and MANAGE_TIMECARDS holders). - payroll_* (PayrollPack): list_periods (+ close readiness and export history with FINALIZE_PAY_PERIODS), export_dry_run (a read: totals only), cost_report, compliance_report (rounding, break premiums, adjustment audit, a member's evidence pack), provider_status (health, runs, dispatches; never a credential). Generating, closing, finalizing, reopening, committing, reversing and dispatching stay a person's. - commissions_* (CommissionsPack): my_summary (balance, ledger, opportunities), my_withdrawals, list_batches and list_withdrawals (VIEW_ORG_FINANCES, MANAGE_ORG_FINANCES or APPROVE_ORG_PAYOUTS). Payout accounts, withdrawals, batch send and line void are never built. HR reads are unlabeled items (no record kind names a timecard or a balance: private to the run's principal). COMMIT_PRICING stays in ApprovalsPack.DECISION_ONLY with FINANCIAL_TRANSACTION (as TP17 rules); the golden tool lists gain exactly these 25 tools.
