8674-Project / README_COMPACT_MIN.md
ckharche's picture
PROJECT SUMMARY
1a5edf3 verified
PROJECT SUMMARY
Scrapes course data, builds a prerequisite graph, analyzes issues, optimizes a term by term plan, and exports .pkl artifacts for the UI to load.
Inputs raw course pages. Outputs files like neu_graph_fixed_prereqs.pkl.
HIGHLIGHTS
* purpose make course planning fast and correct
* artifacts .pkl, _fixed.pkl, graph.pkl, neu_graph_clean.pkl, neu_graph_clean3.pkl, neu_graph_clean6.pkl, neu_graph_fixed.pkl, neu_graph_ultra_clean.pkl, neu_merged_courses_...pkl, neu_merged_graph_...pkl
* stack python, ast, simple web io
DATA FLOW
```mermaid
flowchart LR
ui --> curriculum_optimizer
ui --> interactive_visualizer
```
KEY MODULES
| module | role | top functions |
|---|---|---|
| agentic_optimizer | Optimizes course plan | main |
| curriculum_analyzer | Analyzes graph and flags issues | get_course_level main |
| curriculum_optimizer | Optimizes course plan | |
| inspect_graph | Deep inspection and fixes | inspect_graph_thoroughly suggest_fix_commands |
| interactive_visualizer | Interactive graph viewer | |
| neu_scraper | Scrapes course pages | main |
| ui | Simple UI to load artifacts | get_optimizer export_plan_yaml check_requirements_satisfaction |
AGENTIC_OPTIMIZER
| function | signature | brief |
|---|---|---|
| main | `main()` | Main entry |
CURRICULUM_ANALYZER
| function | signature | brief |
|---|---|---|
| get_course_level | `get_course_level(cid)` | Extracts the numerical part of a course ID for level checking. |
| main | `main(args)` | Main execution flow. |
INSPECT_GRAPH
| function | signature | brief |
|---|---|---|
| inspect_graph_thoroughly | `inspect_graph_thoroughly(graph_file)` | Complete inspection of curriculum graph data |
| suggest_fix_commands | `suggest_fix_commands(graph_file)` | Suggest specific commands to fix issues |
NEU_SCRAPER
| function | signature | brief |
|---|---|---|
| main | `main()` | Main entry |
UI
| function | signature | brief |
|---|---|---|
| get_optimizer | `get_optimizer()` | Loads and caches the main optimizer class and its models. |
| export_plan_yaml | `export_plan_yaml(plan, profile, validation)` | Export plan in structured YAML format for verification |
| check_requirements_satisfaction | `check_requirements_satisfaction(plan, track)` | Check which requirements are satisfied by the plan |
IO ARTIFACTS
* .pkl
* _fixed.pkl
* graph.pkl
* neu_graph_clean.pkl
* neu_graph_clean3.pkl
* neu_graph_clean6.pkl
* neu_graph_fixed.pkl
* neu_graph_ultra_clean.pkl
* neu_merged_courses_...pkl
* neu_merged_graph_...pkl
QUICK START
1. create env and install deps
2. run one of:
python agentic_optimizer.py
python curriculum_analyzer.py
python inspect_graph.py
python neu_scraper.py