How long-alex/cc-wfm works
CC-WFM is a call-center workforce-management system with a two-stage forecasting and scheduling workflow, exposed through CLI and REST adapters. Inputs are converted and validated, then shared application services orchestrate forecasting or schedule optimization; results are persisted and rendered as reports or staffing-plan workbooks. The README documents Excel/JSON conversion, evaluation and tuning, templates, run-status/artifact APIs, HTML reports, and staffing-plan generation. Sampled source confirms key API and orchestration links; unsampled runtime links are included only where README capability descriptions support them.
Main entry points: run_controller.py Run controllers · services.py Run orchestration · pipeline.py Forecast pipeline · cli CLI commands
Components 20
User interfaces
- CLI commands
adapters/cli - REST API
adapters/api/main.py - Web console
adapters/api/web/controller.py - Run controllers
adapters/api/v1/common/run_controller.py - Run state and artifacts
adapters/api/runtime/run_log.py - Excel templates
adapters/api/v1/common/templates/controller.py
Application workflow
- Excel converters
application/converters - Input validation
validation/validators.py - Run orchestration
application/services.py
Forecasting
- Forecast pipeline
core/forecasting/pipeline.py - Model selection
core/forecasting/selection/select.py - Forecast models
core/forecasting/modeling/models.py - Erlang C staffing
core/staffing/calculator.py
Scheduling
- Schedule solver
core/scheduling/model/solve.py - Schedule constraints
core/scheduling/constraints/coverage.py - Schedule solution
core/scheduling/solution.py
Results and reporting
- Output writers
application/outputs - HTML reports
adapters/reporting - Staffing workbook
adapters/staffing_plan
Other components
- Operator
Connections 23
- Operator → CLI commands: runs commands
- Operator → Web console: uses console
- Operator → REST API: calls API
- Web console → REST API: uses same-origin API
- REST API → Run controllers: dispatches routes
- Run controllers → Excel converters: converts upload
- Run controllers → Input validation: validates input
- Run controllers → Run state and artifacts: records run status
- CLI commands → Excel converters: converts Excel
- CLI commands → Run orchestration: starts run
- Run controllers → Run orchestration: queues task
- Run orchestration → Forecast pipeline: runs forecasting
- Forecast pipeline → Model selection: selects models
- Forecast pipeline → Forecast models: trains and predicts
- Forecast pipeline → Erlang C staffing: calculates staffing
- Run orchestration → Schedule solver: solves schedule
- Schedule solver → Schedule constraints: builds coverage rules
- Schedule solver → Schedule solution: produces solution
- Run orchestration → Output writers: writes results
- Output writers → HTML reports: renders reports
- Output writers → Staffing workbook: generates workbook
- Operator → Excel templates: downloads template
- Run controllers → Run state and artifacts: reads run status