What you are building
What you are building
This agent reconciles reported/billable hours (from a timesheet file) against onsite time (derived from access/badge events such as Entry/Exit timestamps). The core idea: keep math deterministic, use the LLM only for semantic interpretation (what columns mean, which sheet matters, how to explain discrepancies).
Definition of Done (non-negotiable outputs)
| Deliverable | What it contains | Why it matters |
|---|---|---|
| 1) Mapping Log | Chosen sheet(s), header row(s), mapped columns, employee match logic, assumptions | Auditability + trust (“how did you interpret my file?”) |
| 2) TimesheetDaily | Canonical daily rows: date, employee, billable hours, service hours (if present), source trace | Enables consistent reconciliation across arbitrary formats |
| 3) BadgeSessions + Totals | Entry/exit sessions + daily onsite totals; anomalies flagged | Turns noisy event logs into interpretable time on site |
| 4) ReconciliationDaily + Weekly Rollup | Reported vs onsite (raw + optional meal deduction), variances, investigate flags | Actionable differences + management summary |
| 5) Exceptions & Evidence | Missing exit, duplicate punches, invalid hours, missing days; include supporting rows | Operators can resolve issues quickly and confidently |
- Planner: decide which sheets/tables to parse, which employee to filter, which metrics to compute.
- Executor: call tools to parse Excel + compute sessions + generate the reconciliation tables.
- Bounded reflection: optional second-pass checks (schema validation + totals sanity checks).