# Records, schedules and budgets

Part of Deterministic skills by Baltor.

Critical paths, earned value, shift rosters, appointment slots and retention dates as pure functions of JSON input. Each kit ships a known good example and a known wrong example its command refuses.

## What to watch for

- A schedule with a cycle has no critical path; the calculation must refuse it.
- Retention periods count from a trigger date that differs by record class.
- A roster that ignores minimum rest between shifts looks complete and is wrong.

## Components

- [Milestone status report with slippage and dependency conflicts](https://baltor.ai/components/milestone-status-report-with-slippage-and-dependency-con-15c80052): Classify each milestone as complete on time, complete late, green, amber, red or overdue from baseline, forecast and actual dates, flag forecasts that precede a predecessor, and write status lines. Name `milestone_status_report`, licence MIT, 12 files.
- [Records retention and disposition date calculator](https://baltor.ai/components/records-retention-and-disposition-date-calculator-e6be8355): Apply a retention schedule to records: find each trigger date, add the retention period, and mark records due, due soon, on legal hold, waiting for their trigger or retained, with file names checked against a naming pattern. Name `records_retention_schedule`, licence MIT, 12 files.
- [Shift roster builder with skills, hours and rest limits](https://baltor.ai/components/shift-roster-builder-with-skills-hours-and-rest-limits-966c71a5): Assign staff to shifts while respecting required skills, unavailable dates, overlapping shifts, minimum rest, weekly hour limits and shift count limits, and explain every unfilled position. Name `shift_roster_builder`, licence MIT, 12 files.
- [Appointment slot allocator for providers and rooms](https://baltor.ai/components/appointment-slot-allocator-for-providers-and-rooms-6e0cb486): Place appointment requests into providers' free time by priority, service, date window, duration, buffer and preferred provider, and report what could not be placed and why. Name `appointment_slot_allocator`, licence MIT, 12 files.
- [Section enrollment allocator with prerequisites and waitlists](https://baltor.ai/components/section-enrollment-allocator-with-prerequisites-and-wait-79427df9): Seat students in course sections by priority group and registration time, honouring capacity, prerequisites, one section per course and time-block clashes, with ordered waitlists. Name `section_enrollment_allocator`, licence MIT, 12 files.
- [Program capacity, staffing and break-even budget](https://baltor.ai/components/program-capacity-staffing-and-break-even-budget-68dd03b1): Compute seats, people turned away, staff per session, cost, revenue, net, cost per participant, break-even fee and break-even attendance for a session-based program, with named scenarios. Name `program_capacity_budget`, licence MIT, 12 files.
- [Requirements traceability matrix and coverage gaps](https://baltor.ai/components/requirements-traceability-matrix-and-coverage-gaps-9cc6f077): Build a matrix linking requirements to design elements and tests, give each requirement a test status, and list requirements without design, tests or a pass, and links to nothing. Name `requirements_traceability`, licence MIT, 12 files.

Your agent downloads these through Baltor with Pro, $49 a month: https://baltor.ai/get-started
