How joshuakosakowsky/highered_automation works
HigherEd Automation is a desktop and command-line toolkit for Mines Bursar processes. Staff select authorized GUI workflows or run existing command-line workflows; workflow runners collect inputs, invoke data-processing pipelines, and produce review or Banner-ready files. The README also documents Insights connections, access administration, browser sessions, a cashier report watcher, and several workflows beyond those sampled. GUI wiring and the three sampled processing pipelines are visible; some adapter and integration internals are not, so their links are omitted or marked unverified.
Main entry points: main.py Automation GUI · workflow_registry.py Workflow registry · services GUI workflow adapters · pipeline.py Population testing
Components 22
Desktop app
- Automation GUI
app/gui/main.py - Workflow contracts
app/gui/models.py - Workflow registry
app/gui/workflow_registry.py - Access management
app/gui/pages/access_management.py - Insights connections
app/gui/pages/connections.py - GUI workflow adapters
app/gui/services
Workflow entry points
- Population CLI
workflows/population_testing/run_population_testing.py - Refunds CLI
workflows/refunds/run_refunds.py - Trends CLI
workflows/trends/run_trends.py - Textbook Brokers CLI
workflows/textbook_brokers/run_textbook_brokers.py
Data processing
- Population testing
data_processing/population_testing/pipeline.py - Refund review
data_processing/refunds/pipeline.py - Historical trends
data_processing/trends/pipeline.py - Textbook TSPLOAD
data_processing/textbook_brokers/pipeline.py - JPMLB conversion
data_processing/jpmlb/transform.py - eBill transformation
workflows/transact_ebill/transact_ebill_transform.py
Shared services
- Cashier report watcher
app/gui/services/report_watcher.py - Insights API and sessions
shared/insights - Persistent browser profiles
shared/browser_profile.py - Banner automation
banner/navigation.py - Mines shared paths
shared/mines_paths.py
Other components
- Bursar staff
Connections 22
- Bursar staff → Automation GUI: opens
- Automation GUI → Workflow registry: loads workflows
app/gui/main.py - Automation GUI → Access management: opens
app/gui/main.py - Automation GUI → Insights connections: opens
app/gui/main.py - Automation GUI → Workflow contracts: uses contracts
app/gui/main.py - Automation GUI → Mines shared paths: resolves policy path
app/gui/main.py - Workflow registry → Workflow contracts: defines workflows
app/gui/workflow_registry.py - Workflow registry → GUI workflow adapters: registers runners
app/gui/workflow_registry.py - Workflow registry → Cashier report watcher: registers watcher
app/gui/workflow_registry.py - Population CLI → Population testing: runs pipeline
workflows/population_testing/run_population_testing.py - Refunds CLI → Refund review: runs pipeline
workflows/refunds/run_refunds.py - Trends CLI → Historical trends: runs pipeline
workflows/trends/run_trends.py - Textbook Brokers CLI → Textbook TSPLOAD: runs pipeline
workflows/textbook_brokers/run_textbook_brokers.py - GUI workflow adapters → Population testing: invokes
- GUI workflow adapters → Refund review: invokes
- GUI workflow adapters → Textbook TSPLOAD: invokes
- Insights connections → Insights API and sessions: connects
- Banner automation → Persistent browser profiles: uses profile
- Population testing → Bursar staff: exports assignments
data_processing/population_testing/pipeline.py - Refund review → Bursar staff: exports review workbook
data_processing/refunds/pipeline.py - Historical trends → Bursar staff: exports trends workbook
data_processing/trends/pipeline.py - Textbook TSPLOAD → Bursar staff: creates TSPLOAD CSV
data_processing/textbook_brokers/pipeline.py