Conversation
f2674fe to
e1293e7
Compare
Greptile SummaryThis PR removes ~100 Key changes:
Confidence Score: 2/5
Important Files Changed
Flowchart%%{init: {'theme': 'neutral'}}%%
flowchart TD
A["_scan_for_blueprints(root)"] --> B["_build_module_class_set(root)\n(AST transitive closure)"]
B --> C["known Module subclass names"]
A --> D["Iterate Python files"]
D --> E["_find_blueprints_in_file(file, module_classes)"]
E --> F{"Top-level AST node?"}
F -->|"ast.Assign"| G{"_is_autoconnect_call?\n_ends_with_blueprint_method?"}
G -->|"Yes"| H["blueprint_vars ← var_name"]
G -->|"No"| I["❌ SomeClass.blueprint(...)\nnot detected!"]
F -->|"ast.ClassDef"| J{"base in module_classes?"}
J -->|"Yes"| K["module_vars ← _camel_to_snake(class_name)"]
H --> L["all_blueprints[cli_name] = module:var"]
K --> M{"_is_production_module_file?"}
M -->|"Yes"| N["all_modules[cli_name] = module_path"]
M -->|"No"| O["Skipped"]
L --> P{"Key collision?"}
N --> P
P -->|"Collision"| Q["Blueprint takes priority\ndel all_modules[key]"]
P -->|"No collision"| R["Final registry"]
Q --> R
|
e1293e7 to
ea5c220
Compare
ea5c220 to
6b8938c
Compare
Problem
Blueprint aliases are annoying because there are two ways to do the same thing.
Closes DIM-538
Solution
Removed
my_moduel(). Now, you can only doMyModule.blueprint().Breaking Changes
You can no longer import blueprint aliases. Just import the actual Module.
How to Test
Contributor License Agreement