rmcanany/SolidEdgeHousekeeper
47.3
Weak · 28 September 2026
37.9k
lines of production code
VB.NET
primary language
4
measurements over time
What this system is
This system is a .NET desktop application designed to manage drafting templates and block libraries, featuring a custom UI for editing criteria. It includes a specialized command-line wrapper, HousekeeperCLI, that automates batch operations with Solid Edge by resolving COM automation hangs and managing process streams. The application relies on specific libraries for Excel data handling, file format manipulation, and UI rendering to support these engineering workflows.
Behavioural changes
153 commits (7 fixes) modifying My Project/media
A change to existing behaviour in My Project/media — 153 commits (7 fixs), 102 files.
My Project/media, Resources · medium confidence · unverified
7 commits (1 fix) modifying My Project/icons
A change to existing behaviour in My Project/icons — 7 commits (1 fix), 29 files.
My Project/icons · medium confidence · unverified
Application startup and UI performance infrastructure added
The application now includes a custom \ExTableLayoutPanel\ control that enables double-buffering and compositing to reduce UI flicker and improve rendering performance during layout updates. Additionally, the \My Project\ namespace has been initialized with standard application configuration files, including a \DispatchUtility\ module for handling COM object interactions and designer-generated forms for block library and draft template criteria editing.
My Project · high confidence
Introduce HousekeeperCLI wrapper to fix Solid Edge automation hangs
A new HousekeeperCLI executable has been added to act as a wrapper for Housekeeper.exe, specifically designed to resolve automation hangs in Solid Edge during batch operations. The CLI introduces an opt-in \-af\ flag that lifts Windows foreground-window restrictions, allowing background-launched processes to properly acquire the active status required by Solid Edge's DXF flat-pattern exporter. Additionally, the wrapper handles argument parsing (including absolute path resolution for the \-l\ file list), drains child process output streams asynchronously to prevent pipe-buffer deadlocks, and filters routine progress noise from the output.
HousekeeperCLI · high confidence
Dependencies
Initial dependency setup for Housekeeper and HousekeeperCLI
The project now includes explicit NuGet package references for the Housekeeper and HousekeeperCLI applications, establishing the baseline library dependencies required for the build. The packages.config and project files define versions for CoreCLR-NCalc (2.2.110), ExcelDataReader (3.9.0), FCTB (2.16.24), Microsoft.Bcl.HashCode (6.0.0), Microsoft.WindowsAPICodePack (1.1.0.0), Newtonsoft.Json (13.0.3), OpenMcdf (3.1.4), and various System.\* libraries, ensuring consistent package resolution for the .NET Framework 4.7.2 target.
(dependencies) · high confidence
Updated assembly binding redirects for OpenMcdf and .NET libraries
The application configuration now includes explicit assembly binding redirects for OpenMcdf (redirecting to version 3.1.4.0), System.Memory (4.0.5.0), System.Runtime.CompilerServices.Unsafe (6.0.3.0), System.Buffers (4.0.5.0), and OpenMcdf.Ole (3.1.4.0). This ensures the application resolves these dependencies to the correct versions at runtime, preventing potential type-mismatch errors.
(repo-wide) · high confidence
Written by watchdog.canine.dev from the codebase's own history, inside the signed delivery this page is composed from.
How this codebase got here
Score
- CAI 35 → 47 (+11.9)
- Rubric changed (rubric-2026.08.15 → rubric-2026.09.16) — scores are not directly comparable.
Lenses
- Code Health 73 → 63 (-9.8)
- Architecture 41 → 66 (+25.1)
- Maturity 54 → 60 (+6.2)
- Readiness 17 → 30 (+12.8)
- Security 77 → 77 (+0.0)
Resolved (106)
- Build did not complete in the analyzer
- Change coupling: FormExpressionEditor.vb ↔ UtilsPowerShell.vb (My Project/FormExpressionEditor.vb)
- Change coupling: FormPropertyPicker.vb ↔ Form_Main.vb (My Project/FormPropertyPicker.vb)
- Change coupling: Form_Main.vb ↔ TaskSetDocumentStatus.vb (My Project/Form_Main.vb)
- Change coupling: Form_Main.vb ↔ UCEditProperties.vb (My Project/Form_Main.vb)
- Change coupling: Form_Main.vb ↔ UCPropertyFilter.vb (My Project/Form_Main.vb)
- Change coupling: Form_Main.vb ↔ UtilsCommon.vb (My Project/Form_Main.vb)
- Change coupling: Form_Main.vb ↔ UtilsFileList.vb (My Project/Form_Main.vb)
- Change coupling: Form_Main.vb ↔ UtilsPreferences.vb (My Project/Form_Main.vb)
- Change coupling: TaskSaveDrawingAs.vb ↔ TaskSaveModelAs.vb (My Project/TaskSaveDrawingAs.vb)
- Change coupling: UCEditProperties.vb ↔ UCPropertyFilter.vb (My Project/UCEditProperties.vb)
- ClassTooLong: LinkFullNames (My Project/HCStructuredStorageDoc.vb)
- Duplicated block (10 lines × 2) (My Project/FormPropertyInputEditor.vb)
- Duplicated block (10 lines × 2) (My Project/TaskCheckInterference.vb)
- Duplicated block (10 lines × 2) (My Project/TaskCreateDrawingOfFlatPattern.vb)
- Duplicated block (10 lines × 2) (My Project/TaskCreateDrawingOfFlatPattern.vb)
- Duplicated block (10 lines × 2) (My Project/TaskPrint.vb)
- Duplicated block (10 lines × 2) (My Project/TaskUpdateMaterialFromMaterialTable.vb)
- Duplicated block (10 lines × 2) (My Project/UCTaskControl.vb)
- Duplicated block (10 lines × 3) (My Project/TaskEditProperties.vb)
- …and 86 more
New (181)
- Change coupling: FormPropertyFilter.vb ↔ UtilsPropertyFilters.vb (My Project/FormPropertyFilter.vb)
- ClassTooLong: HCStructuredStorageDoc.LinkFullNames (My Project/HCStructuredStorageDoc.vb)
- ClassTooLong: TaskUpdateDrawingViews (My Project/TaskUpdateDrawingViews.vb)
- Documentation: no contributor guidance (README.md)
- Duplicated block (10 lines × 2) (My Project/TaskCheckLinks.vb)
- Duplicated block (10 lines × 2) (My Project/TaskCreateDrawingOfFlatPattern.vb)
- Duplicated block (10 lines × 2) (My Project/TaskPrint.vb)
- Duplicated block (10 lines × 2) (My Project/TaskUpdateBlocks.vb)
- Duplicated block (10 lines × 2) (My Project/TaskUpdateMaterialFromMaterialTable.vb)
- Duplicated block (10 lines × 2) (My Project/UCTaskControl.vb)
- Duplicated block (10 lines × 2) (My Project/UtilsTopLevelAssembly.vb)
- Duplicated block (10 lines × 3) (My Project/TaskSaveModelAs.vb)
- Duplicated block (10 lines × 4) (My Project/TaskUpdateModelStylesFromTemplate.vb)
- Duplicated block (10 lines × 5) (My Project/TaskEditInteractively.vb)
- Duplicated block (10 lines × 7) (My Project/TaskEditInteractively.vb)
- Duplicated block (10–12 lines × 17) (My Project/TaskBreakLinks.vb)
- Duplicated block (10–12 lines × 3) (My Project/TaskCheckMaterialNotInMaterialTable.vb)
- Duplicated block (10–32 lines × 2) (My Project/HCStructuredStorageDoc.vb)
- Duplicated block (11 lines × 2) (My Project/TaskCheckLinks.vb)
- Duplicated block (11 lines × 2) (My Project/TaskCreateDrawingOfFlatPattern.vb)
- …and 161 more
Changes since last survey
- 33 commits — 31 feature/other, 2 fixes
By area
- (root) — 21 commits
- My Project/media — 3 commits
- (repo) — 2 commits
- My Project/TaskUpdateDrawingStylesFromTemplate.vb — 2 commits
- My Project/Form_Main.resx — 1 commit
- My Project/Form_Main.vb — 1 commit
- My Project/TaskFinalizeModelAndDrawings.vb — 1 commit
- My Project/UtilsDocumentation.vb — 1 commit
- My Project/UtilsPreferences.vb — 1 commit
Notable commits
- fix: Fix HintPath
- fix: Fix Solid Edge automation hang in CLI batches
- change: Add Finalize model and drawings task
- change: Add Finalize model and drawings to project
- change: Add some first-launch defailts
- change: Add template library block update option
- change: Color changer context menu
- change: Documentation
- change: Documentation
- change: Documentation
- change: Documentation
- change: Documentation
- change: Documentation
- change: Documentation
- change: Draft template criteria
- change: Draft template criteria
- change: Draft template criteria
- change: Draft template criteria logic
- change: Edit Properties: Process blank Find/Replace text
- change: Expression results including trailing vbCrLf
- …and 13 more
Architecture
- Unchanged — 1 containers · 0 contexts · 0 edges
Written by watchdog.canine.dev from the codebase's own history, inside the signed delivery this page is composed from.
Survey your own repository
rmcanany/SolidEdgeHousekeeper was measured the same way every project in this corpus was: the same rubric, at a pinned commit, with the result published in full. Point a surveyor at a repository you know and see whether you agree with it.
About this page
- The score is its most recent published measurement, taken on 28 September 2026 at a pinned commit. It is not a live figure and does not change until the project is measured again.
- Measured at commit 6023b2a22f9c58ac95ed9873e15c6a582348d4f6 — the exact code this score is about.
- Scored under rubric-2026.09.16 — the same rubric and the same method as every other entry in this index.
- Measured by watchdog.canine.dev using codehealth-analyzer preprod-2d9048c36d26.