Skip to content
CAI
Software that uses CAICheck a score

rmcanany/SolidEdgeHousekeeper

47.3

Weak · 28 September 2026

37.9k

lines of production code

VB.NET

primary language

4

measurements over time

CAI band scale
CAI trend line
CAI lens gauges

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.