SAFE DRY-RUN REPORT ONLY
Telos Timesheet Audit — May 16–31, 2026
Generated 2026-06-01 14:09 UTC. Read-only audit of Active+Hourly employees: transcript reconciliation, calendar checks for manual rows, and zero external mutations.
Employees
13
Timesheet rows
115
Reported hours
90.41
Est. payroll
$5,957.05
Review flags
23
Executive read
Recommendation: this period looks clean for payroll. All 80 transcript-backed rows auto-verified within ±5 minutes. The 23 flags are concentrated in manual prep / async / EF work, mostly Joanne Bang, where calendar evidence is supportive but not conclusive. The one item warranting a human glance before payroll is Ava Salzman's 3.0h async Notion work on 2026-05-28 with no calendar event on that date.
Zero mutations confirmed: no Notion writes/updates, Gmail drafts/sends, Calendar writes/modifies, Drive writes, Gusto submissions, or Google Chat messages.
Classification results
| Category | Count | Exposure | Meaning |
|---|---|---|---|
| Transcript auto-verified | 80 | — | Duration matched Meeting Transcript within tolerance. |
| Strong calendar match | 12 | $529.80 | Manual row had same-date event with duration and title support. |
| Weak title match | 14 | $569.50 | Duration matched, but title overlap was weak. |
| No clear duration match | 8 | $602.00 | Same-date events existed, but none clearly matched duration. |
| No calendar event | 1 | $210.00 | Ava Salzman, 2026-05-28, 3.0h async work. |
Employee breakdown
| Employee | Rows | Hours | Payroll | Auto | Manual |
|---|---|---|---|---|---|
| Joanne Bang | 48 | 31.11 | $2,177.70 | 21 | 27 |
| Darren Grodsky | 16 | 14.79 | $1,331.10 | 14 | 2 |
| Danny Jacobs | 11 | 10.57 | $951.30 | 7 | 4 |
| Kristen Chong | 14 | 10.07 | $352.45 | 14 | 0 |
| Ava Salzman | 9 | 9.75 | $682.50 | 7 | 2 |
| Harold Ruiz | 7 | 6.03 | $60.30 | 7 | 0 |
| Eric Cheng | 3 | 2.62 | $235.80 | 3 | 0 |
| Jackie Li | 2 | 2.00 | $40.00 | 2 | 0 |
| Reena Thomas | 3 | 1.74 | $78.30 | 3 | 0 |
| Danielle Kim | 1 | 1.08 | $21.60 | 1 | 0 |
| Robert Chew | 1 | 0.65 | $26.00 | 1 | 0 |
| Borys Jastrzębski | 0 | 0.00 | $0.00 | 0 | 0 |
| Jaden Pon | 0 | 0.00 | $0.00 | 0 | 0 |
Flagged items
1. Ava Salzman — 2026-05-28
Kexin Cai - async Notion site editing, preparing materials for parents
NO_CALENDAR_EVENT_ON_DATE
2. Danny Jacobs — 2026-05-17
Ruoxi Chen - Editing
NO_CLEAR_CALENDAR_DURATION_MATCH
3. Danny Jacobs — 2026-05-18
Ruoxi - Essay Editing
NO_CLEAR_CALENDAR_DURATION_MATCH
4. Darren Grodsky — 2026-05-18
Bowen Gong, Connor Nguyen, Leo Wong Summer planning on Notion
CALENDAR_DURATION_MATCH_WEAK_TITLE
5. Darren Grodsky — 2026-05-28
Prep/Research for Leo, Sarah, & Bowen
NO_CLEAR_CALENDAR_DURATION_MATCH
6–23. Joanne Bang manual prep / async / EF rows
18 Joanne flags across prep work, EF presentation/slides, internal meeting, no-show, and summer planning entries.
WEAK_TITLE / NO_CLEAR_DURATION_MATCH
Full line-by-line flagged-item details are in the original Markdown report at /opt/hermes-telos/tmp/reports/timesheet-audit-2026-05-16_2026-05-31-safe-dryrun.md.
Why “safe dry run”?
- Timesheet audits sit directly next to payroll, so the first scheduled version is intentionally read-only.
- The cron gathered evidence and produced reports, but did not alter Notion rows, draft/send emails, modify calendars, touch Drive, submit Gusto/payroll, or message the team.
- This lets us prove the data pipeline and discrepancy logic before enabling any external-facing or mutating behavior.
- The current cron delivery is local-only, so it won’t spam Google Chat while the audit is still being validated.
- Promotion path would be: local report → Google Chat report → optional task/draft creation → only later, with approval gates, any correction workflow.