remove legacy libraries/applications split, unify to flat components list#8
Merged
ethenotethan merged 3 commits intomigrate-to-burrfrom Apr 18, 2026
Merged
Conversation
…list
The discovery engine wrote components.json with separate 'libraries' and
'applications' keys, but the Burr analysis pipeline read a 'components'
key that didn't exist — causing every component to be silently skipped
during analysis (0 components analyzed).
Instead of patching the reader, remove the entire legacy binary split:
- Discovery now writes flat {"components": [...]} format
- Remove Library, Application, BaseComponent, KnowledgeBasis classes
- Remove 'classification' field and _legacy_classification() from Component
- Remove libraries_used, internal_applications compat fields
- Rename ApplicationEdge to ComponentEdge
- Remove two-phase get_analysis_order() from DependencyGraph
- Replace libraries_count/applications_count with components_count in manifest
- Validator now checks all components in depth order, not just libraries
- Simplify all readers (burr_app.py, cli.py, scripts) to use 'components' key
- Rewrite utils/dependency_graph.py and scripts to use Component type
- Update all tests for new format
ethenotethan
added a commit
that referenced
this pull request
Apr 18, 2026
* migrate agent harness framework to burr * remove legacy libraries/applications split, unify to flat components list (#8) * pin GitHub Actions to full commit SHAs for security * add url parsing to avoid substring attack * remove legacy libraries/applications split, unify to flat components list The discovery engine wrote components.json with separate 'libraries' and 'applications' keys, but the Burr analysis pipeline read a 'components' key that didn't exist — causing every component to be silently skipped during analysis (0 components analyzed). Instead of patching the reader, remove the entire legacy binary split: - Discovery now writes flat {"components": [...]} format - Remove Library, Application, BaseComponent, KnowledgeBasis classes - Remove 'classification' field and _legacy_classification() from Component - Remove libraries_used, internal_applications compat fields - Rename ApplicationEdge to ComponentEdge - Remove two-phase get_analysis_order() from DependencyGraph - Replace libraries_count/applications_count with components_count in manifest - Validator now checks all components in depth order, not just libraries - Simplify all readers (burr_app.py, cli.py, scripts) to use 'components' key - Rewrite utils/dependency_graph.py and scripts to use Component type - Update all tests for new format
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
{"libraries": [...], "applications": [...]}but the reader expected{"components": [...]}Library,Application,BaseComponent,KnowledgeBasisclasses are deleted along withclassification,libraries_used,internal_applicationsfields{"components": [...]}list across discovery, analysis pipeline, CLI, and all scriptsApplicationEdgetoComponentEdge, removes two-phaseget_analysis_order(), replaceslibraries_count/applications_countwithcomponents_countvllm-mlxrepo (1 component analyzed, 24 citations extracted)Net: +377 / -918 lines across 16 files.