Remove deprecated schema extensions and related functionality#680
Conversation
- Deleted RoboHRM, RoboReport, and RoboSCM schema extensions along with their nodes and relationships. - Removed the `get_entity_schema_loader` function and its associated tests. - Cleaned up the SchemaManager by removing optimal schema group definitions and related tests. - Updated loader and manager files to reflect the removal of unused extensions.
|
@claude please review this PR |
|
Claude finished @jfrench9's task in 1m 58s —— View job PR Review: Remove deprecated schema extensions
Overall: Clean, well-scoped removal of dead code. No dangling references found. A few minor notes below. What was verifiedNo lingering references: A full grep across Dynamic loader handles this correctly:
API validation ( Minor observations1. No test asserting removed extensions are now rejected The def test_removed_extensions_now_rejected(self):
with pytest.raises(ValidationError):
EntityCreate(name="Test", extensions=["roboscm"])2.
3. The method is named 4. Pre-merge data check recommended The PR description flags: "Database migrations or data cleanup may be needed if extension-related data was persisted and is now orphaned." These five schemas were graph-schema-only (LadybugDB/Cypher) with no OLTP layer. If any live graph has these schema extensions listed in SummaryThe mechanical work here is solid — the right files were deleted, the right fields were trimmed, the loader's dynamic discovery mechanism means no hardcoded list was missed, and the documentation is updated with a clear forward-looking rationale. The minor items above are all low-risk suggestions, not blockers. Safe to merge after the data check. |
…ocuments and search
Summary
Removes five deprecated schema extension modules (
roboepm,robofo,robohrm,roboreport,roboscm) and cleans up all related functionality across the codebase, eliminating approximately 2,050 lines of unused code.Key Accomplishments
Deleted 5 extension schema modules under
robosystems/schemas/extensions/that were no longer in use:roboepm.py— Enterprise Performance Management schemarobofo.py— Finance Operations schemarobohrm.py— Human Resource Management schemaroboreport.py— Reporting schemaroboscm.py— Supply Chain Management schemaCleaned up the schema loading pipeline by removing extension-related logic from
loader.pyandruntime/manager.py, simplifying how schemas are discovered and managed at runtime.Simplified API and data models by removing extension-related fields and handling from
entity_graph.pyand the graphs router (routers/graphs/main.py).Updated
schemas/base.pyto remove extension surface area that is no longer needed.Updated
db/extensions.pyto reflect the removal of the deprecated extension references.Updated documentation in
schemas/README.mdto reflect the current state of the schema system without the removed extensions.Pruned related test code from
test_entity_graph_models.py,test_schema_loader.py, andtest_schema_manager.py, removing tests that validated the now-deleted extension functionality.Breaking Changes
roboepm,robofo,robohrm,roboreport, orroboscmextension schemas will break. Ensure no active features depend on these extensions before merging.Testing Notes
Infrastructure Considerations
🤖 Generated with Claude Code
Branch Info:
refactor/remove-unused-extensions-surfacemainCo-Authored-By: Claude noreply@anthropic.com