Testing & Validation Strategy

Last Updated: February 28, 2026 - 21 bugs tracked (17 fixed), AutoIT validation complete (3 VMs, all 6/6 pass), VM 109 running AutoCAD 2026 + NanoCAD 25, 65-workflow test matrix from doc 31, source-mode validation active

Note: This plan is a working draft. Some technical details (exact file provenance, build parity, vendor timelines, pricing, and Autodesk product capabilities) may need verification as we inventory the full legacy tree and validate behavior in modern environments.

Test Infrastructure (Updated Feb 28, 2026)

Proxmox VM Environment 🆕

ConstructiVision tower computer converted to Proxmox VM — This is now our primary legacy testing environment.

Component

Details

Host

Proxmox VE 8.x (dedicated server)

Backup

Automated ZFS snapshots (can clone/revert)

Remote Access

Tailscale VPN + SSH

Patching

LegacyUpdate.net for XP/Vista updates

Windows Test VMs (Updated Feb 28, 2026)

VM ID

Name

Purpose

Status

102

XP-CV-V11

CV v11.0 reference — cloned from 103, v11.0 installed. AutoIT validation target.

Running

103

XP-LEGACY

MASTER COPY — original 2008 GSCI workstation. v7.0 production. DO NOT MODIFY.

Running

104

XP-TEST

CV v7.0 patch — Fresh XP SP3 for testing. Deferred VLX loading deployed (Bug 20). AutoIT 6/6 pass.

Running

105

Install-Dev

InstallShield IDE — IS 5.0/6.10 compiler environment (cloned from VM 104).

Stopped

106

Vista-TEST

Windows Vista test environment. Security-hardened (SMBv1 disabled, DEP AlwaysOn).

Stopped

107

Win7-TEST

Windows 7 test environment. Security-hardened (SMBv1 disabled, DEP AlwaysOn).

Stopped

108

Win10x32-TEST

Win10 32-bit — CV auto-loads with config script. Junction-swap deployment.

Running

109

Win10x64-TEST

Win10 64-bit CAD Workstation — AC2000 + CV working after Wow6432Node COM fix.

Running

201

Alpha-TEST1

Alpha Testing (Tai) — GSCI engineer, PB11-00x32 deployed via Deploy-AlphaVM.ps1.

Running

202

Alpha-TEST2

Alpha Testing (Dat) — GSCI engineer, PB11-00x32 deployed via Deploy-AlphaVM.ps1.

Running

Note

IP addresses, SSH configuration, and network topology have been moved to internal infrastructure documentation for security. See docs-sensitive/vm-infrastructure/ (requires GitHub login).

Alpha Testing VMs (201-202): GSCI engineers (Tai and Dat) access via SSH + RDP. Deployed with scripts/Deploy-AlphaVM.ps1 which switches sparse-checkout to PB11-00x32, updates junction, and creates desktop shortcuts. See alpha-testing-gsci-plan (sensitive).

VM Security Hardening (Applied Jan 29, 2026)

Vista-TEST (106) and Win7-TEST (107) have been hardened with the following security measures:

Security Measure

Vista

Win7

Notes

Windows Firewall (all profiles)

✅ ON

✅ ON

Domain, Private, Public all enabled

Windows Defender

✅ Running

✅ Running

Built-in AV protection

Panda Antivirus

✅ Installed

✅ Installed

Additional AV layer

SMBv1 Disabled

EternalBlue/WannaCry protection

Remote Registry Disabled

Prevents remote registry access

SSDP Discovery Disabled

Reduces attack surface

UPnP Host Disabled

Prevents UPnP exploits

Autorun/Autoplay Disabled

Malware vector mitigation

DEP (AlwaysOn)

Data Execution Prevention for all programs

Guest Account Disabled

No anonymous access

WMP Network Sharing

N/A

✅ Disabled

Closed ports 554/10243

Registry Changes Applied:

# SMBv1 Disabled (EternalBlue protection)
HKLM\SYSTEM\CurrentControlSet\Services\LanmanServer\Parameters\SMB1 = 0

# Autorun/Autoplay Disabled
HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\Explorer\NoDriveTypeAutoRun = 255
HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\Explorer\NoAutorun = 1

Services Disabled:

  • RemoteRegistry — Remote Registry

  • SSDPSRV — SSDP Discovery

  • upnphost — UPnP Device Host

  • WMPNetworkSvc — Windows Media Player Network Sharing (Win7 only)

DEP Configuration:

bcdedit /set nx AlwaysOn

LegacyUpdate.net Patches Applied

Critical security patches installed via LegacyUpdate.net on Vista and Win7 VMs:

Windows Vista (VM 106):

KB Number

Description

CVE

KB4012598

MS17-010 SMB Remote Code Execution (WannaCry)

CVE-2017-0143

KB4493730

SHA-2 Code Signing Support

KB4474419

SHA-2 Update for Secure Boot

KB4054518

.NET Framework 4.7.1 Security Update

Multiple

KB3205401

Internet Explorer 9 Cumulative Update

Multiple

Windows 7 (VM 107):

KB Number

Description

CVE

KB4012212

MS17-010 SMB Remote Code Execution (WannaCry)

CVE-2017-0143

KB4490628

SHA-2 Servicing Stack Update

KB4474419

SHA-2 Code Signing Support

KB4536952

Extended Security Update (ESU) Licensing Prep

KB5017361

ESU September 2022 Security Rollup

Multiple

KB5022338

ESU January 2023 Final Rollup

Multiple

LegacyUpdate Installation:

  1. Download from https://legacyupdate.net

  2. Run installer (auto-detects OS version)

  3. Updates Windows Update agent and certificates

  4. Enables access to Microsoft Update Catalog

  5. Apply all critical/important updates

VM Software Verification (Updated Jan 30, 2026)

Remote verification of installed software via SSH — Use these commands to verify software installation across all VMs without manual inspection.

Method 1: Program Files Directory Listing (Recommended)

Lists installed programs by checking Program Files folders:

# Check single VM
ssh vista-106 "dir /b C:\PROGRA~1"

# Check all VMs in sequence
@("xp-103", "xp-104", "vista-106", "win7-107") | ForEach-Object {
    Write-Host "`n=== $_ ===" -ForegroundColor Cyan
    ssh $_ "dir /b C:\PROGRA~1" 2>$null
}

Method 2: WMIC Product Query (Vista/Win7 only)

Lists MSI-installed products (slower, may miss some software):

ssh vista-106 "wmic product get name"
ssh win7-107 "wmic product get name"

⚠️ Note: WMIC may not work on XP and doesn’t show all installed software (only MSI-based installs).

Standardized Testing Stack (Updated Feb 28, 2026):

XP VMs (102–104) run the full testing toolset including AutoIT for automated menu validation. Vista/Win7 VMs have monitoring tools only.

Tool

Version

Purpose

XP-102

XP-103

XP-104

Vista-106

Win7-107

Total Uninstall

6.18.0

Install monitoring & clean uninstall

Regshot

1.9.0

Registry/file snapshot comparison

InCtrl5

5.0

Before/after install snapshots

AutoIt3

3.3.16

UI automation & menu validation

Supporting Software:

Tool

Purpose

XP-102

XP-103

XP-104

Vista-106

Win7-107

Supermium

Modern browser for legacy OS

Panda AV 2010

Antivirus protection

Bitvise SSH

Remote command execution

Legacy Update

Windows Update access

Total Uninstall Version Selection

We evaluated multiple versions to find the newest XP-compatible release:

Version

File Size

PE Header

XP Compatible

Notes

5.9.0

6.4 MB

Windows 5.00

Oldest tested

6.0.0

18.9 MB

Windows 5.00

6.18.0

26.7 MB

Windows 5.00

Best choice — newest XP-compatible

7.6.2

15.2 MB

Windows 6.00

Vista+ only

Winner: Total Uninstall 6.18.0 — The most feature-rich version that still supports Windows XP (PE32 for Windows 5.00).

Tool Locations:

Location

Contents

C:\Program Files\Total Uninstall 6\Tu.exe

Primary install monitoring tool

C:\Tools\Regshot.exe

Portable registry/file snapshot tool

C:\Program Files\InCtrl5\

Install monitoring tool

C:\Program Files\AutoIt3\

UI automation scripting

C:\Program Files\Bitvise SSH Server\

SSH server for remote access

Desktop Shortcuts: All 4 tools have shortcuts on Administrator desktop across all VMs:

  • Total Uninstall 6.lnk

Nightly Build Deployment (Win10 & Alpha VMs)

The Windows 10 test VMs and Alpha testing VMs automatically pull the latest ConstructiVision build from GitHub each night using a scheduled task.

Task Name: ConstructiVision Git Pull

Setting

Value

Schedule

Daily at 22:00

Run As

Administrator (Highest privilege)

Action

cmd.exe /c "C:\Repos\Constructivision\CV Update.bat" /pull

VMs

108 (Win10x32), 109 (Win10x64), 201 (Alpha-Tai), 202 (Alpha-Dat)

How it works:

  1. Sparse checkout — Each VM clones the repo with --filter=blob:none --sparse. Sparse-checkout paths depend on architecture:

    • x32 VMs (108, 201, 202): src/x32/ + src/Project Files/

    • x64 VMs (109): src/x64/ + src/Project Files/

  2. Junction-swap deploymentCV Update.bat manages a directory junction from Program Files into the sparse checkout. On test VMs with both TB and PB builds, it provides an interactive picker to switch between them:

    C:\Program Files\ConstructiVision  →  C:\Repos\Constructivision\src\x32\TB11-01x32
                                        or  C:\Repos\Constructivision\src\x32\PB11-00x32
    

    On alpha VMs with only PB, it runs in pull-only mode (no picker).

  3. Self-update protectionCV Update.bat copies itself to %TEMP% before running git pull, preventing CMD from reading garbage if the batch file itself is modified by the pull.

  4. Nightly pull — The scheduled task runs CV Update.bat /pull at 22:00, downloading only changed blobs.

  5. SSH deploy keys — Each VM has its own read-only SSH deploy key (ed25519, no passphrase) registered on the GitHub repo.

Setup script: Each VM has a reference script at C:\Users\Administrator\Desktop\clone-cv.txt containing the key generation, clone, and junction commands (renamed from .cmd to .txt to prevent accidental execution).


Multi-OS Installer Testing (Week 4-5: Feb 10-24) — COMPLETED

Test Objectives (Revised Sprint Plan)

Context: Week 3 Nero analysis validated wizard approach. Week 4 (Feb 10) achieved breakthrough: AC2000 + CV3.60 installed on all 3 VMs (XP/Vista/Win7) with no UAC issues. 21 bugs documented across all platforms (see Bug Tracker — Validation Campaign). 41 files identical across all platforms.

Decision Point (Feb 28) — COMPLETED:

  • PASSED (Feb 10): Installer works on XP/Vista/Win7 as Administrator

  • PASSED (Feb 17): Win10 32-bit (VM 108) — auto-configured via Configure-ConstructiVision.ps1

  • PASSED (Feb 17): Win10 64-bit (VM 109) — working after Wow6432Node COM registry fix

  • Source-mode testing active: TB11 loads .lsp directly, enabling rapid iteration

  • Next: NanoCAD compatibility testing (free), then latest AutoCAD (purchase required)

Multi-OS Testing Matrix

OS

VM

Priority

Status

Results (Feb 10)

Windows XP SP3

VM 104

Baseline

PASSED

AC2000 + CV3.60 installed, 41 files deployed, 8 bugs documented

Windows Vista SP2

VM 106

P2

PASSED

No UAC issues (logged in as Administrator), identical file deployment

Windows 7 SP1

VM 107

P2

PASSED

No UAC issues (logged in as Administrator), identical file deployment

Windows 10 32-bit

VM 108

P1

PASSED

AC2000 + CV11 working. Auto-configured via Configure-ConstructiVision.ps1

Windows 10 64-bit

VM 109

P1

PASSED

Working after Wow6432Node COM registry fix (103 CLSIDs, 104 Interfaces, 6 ProgIDs)

Key Finding (Feb 10): All 3 tested platforms produce identical file deployments (41 files). Bugs are consistent across all OSes. The installer is more compatible than initially feared — the “95% failure rate” was based on non-Administrator testing.

Key Finding (Feb 17–28): Win10 32-bit (VM 108) and 64-bit (VM 109) both fully working with ConstructiVision v11 in source-mode (TB11). Auto-configuration handled by scripts/Configure-ConstructiVision.ps1. Win10x64 required Wow6432Node COM registry fix. Total bugs across all platforms: 21 (see Bug Tracker — Validation Campaign).

Feb 10 Multi-OS Testing Results 🆕

Monitoring Tools Used: Total Uninstall 6.18, Inctrl5 1.0.0.0, Regshot 1.9.0, AutoIT 3.3.16 (menu validation automation on XP VMs)

Test Results Summary:

Metric

XP SP3 (VM 104)

Vista SP2 (VM 106)

Win7 SP1 (VM 107)

AC2000 Install

CV3.60 Install

Files Deployed

41

41

41

UAC Issues

N/A

✅ None (Admin)

✅ None (Admin)

Bugs Found

8

8 (same)

8 (same)

acad.exe Crash

No

Yes (Bug 6)

Yes (Bug 6)

Monitoring Data: test-results/{XP,Vista,Win7}-Monitoring/CV360/ (9 files) Full Analysis: CV360-Installation-Analysis.md (470 lines)

Snapshots Taken:

  • ac2000-installed-20260210 — AC2000 only, all 3 VMs

  • cv360-installed-20260210 — AC2000 + CV3.60, all 3 VMs

AutoIT Automated Menu Validation (Feb 27–28) 🆕

Automated UI validation using scripts/cv-menu-validation.au3 (572 lines). The script launches AutoCAD, opens a test drawing, exercises every major CV menu command, captures dialog screenshots, and logs results. Run remotely via SSH + Windows at scheduler (only way to launch interactive GUI processes over SSH on XP).

Execution method: ssh Administrator@<IP> "at HH:MM /interactive C:\run-validation.bat"

Validation Run Results

Run

VM

Date

Screenshots

Pass

Fail

Notes

vm102-final

102 (XP-CV-V11)

Feb 27 18:46

11

6/6

0

All 6 menu dialogs captured. Phase 4 panel sub-dialog reached.

vm103-final

103 (XP-LEGACY)

Feb 27 18:59

10

6/6

0

v7.0 baseline. All dialogs captured including site drawing.

vm104-feb28

104 (XP-TEST)

Feb 28 07:30

11

6/6

0

v3.60 with deferred VLX loading (Bug 20 fix). All dialogs passed.

run6

102

Feb 27 17:30

10

1/6

5

Early run — commands fired but dialogs not captured (timing issues).

Comprehensive Menu Validation — UPDATED Feb 28

Goal: Exercise every ConstructiVision menu command and document hard errors (crashes, missing files, broken commands).

Automation: scripts/cv-menu-validation.au3 (572 lines) handles the top-level menu items automatically. Sub-dialog and feature-specific testing follows the Critical Workflow Test Matrix defined in 31 — Comprehensive Workflow & Human Factors Analysis (Section 6), which catalogs 65 independently testable workflows across 5 categories.

Test Procedure:

  1. AutoIT script launches AutoCAD, opens CSB001.dwg (panel) and CSBsite1.dwg (site)

  2. Exercises all 6 top-level menu entries + Phase 4 panel sub-dialogs + Phase 5 site dialogs

  3. Each dialog is captured as BMP screenshot, processed through OCR pipeline

  4. Results compared across VMs (v11 vs v7.0 vs v3.60 baselines)

Top-Level Menu Validation (Automated — COMPLETE):

Menu ID

Menu Item

progcont

AutoIT Phase

Status

ID_CSVRUN

Drawing Setup / Program Options

0

Phase 3 Test 02

✅ All 3 VMs

ID_CSV8192

Slope Calculator

8193

Phase 3 Test 03

✅ All 3 VMs

Create New Project

262153

Phase 3 Test 04

✅ All 3 VMs

Create New Drawing

262161

Phase 3 Test 05

✅ All 3 VMs

Edit Existing Drawing

262145

Phase 3 Test 06

✅ All 3 VMs

Batch Utilities

262177

Phase 3 Test 07

✅ All 3 VMs

Panel Options (md_dlg)

Phase 4

✅ Dialog captured, Edit Panel button not found (AutoIT limitation)

Site Drawing

Phase 5

✅ Site drawing loaded and dialog captured

Workflow Test Coverage (from 31 — Comprehensive Workflow & Human Factors Analysis Section 6):

Category

Workflows

AutoIT Covered

Manual Required

Priority Items

Core Panel (P-01 to P-24)

24

3 (P-01, P-02, P-21)

21

P-13 (weld connections), P-14/15 (pick/brace points)

Batch & Print (B-01 to B-08)

8

1 (B-07 partial)

7

B-01/B-02 (batch print/redraw)

Engineering Export (E-01 to E-06)

6

0

6

E-01/E-02 (Dayton/Meadow-Burke export)

Site Drawing (S-01 to S-07)

7

1 (S-01 partial)

6

S-02 (grid lines — 208 edit boxes)

Utility (U-01 to U-06)

6

1 (U-01 slope calc)

5

U-06 (registration)

Total

65

6

59

See doc 31 Section 6 for full matrix

Dialog Inventory (from 31 — Comprehensive Workflow & Human Factors Analysis Appendix B):

  • 44 DCL dialogs with ~5,736 controls total

  • Largest: wall_dlg (711 controls), slab_dlg (648), wc_dlg (615)

  • 20 panel feature sub-dialogs with ~2,237 data points

  • 45-row Manual ↔ Code cross-reference (doc 31 Section 4): 38 verified, 6 concerns, 1 broken

Deliverables (Feb 28 — COMPLETED):

  • ✅ Multi-OS compatibility matrix — all 5 platforms passing

  • ✅ AutoIT menu validation report — reports/ocr-output/vm{102,103,104}-final/

  • ✅ OCR text extraction — reports/ocr-output/*/ocr-output/

  • ✅ Decision: Entered iterative bug fixing (21 bugs tracked in Bug Tracker — Validation Campaign)

  • ⏳ Sub-dialog feature testing (59 workflows) — requires manual testing on VMs

Installer Sources (Repository):

All VM testing tool installers are available in the repository at tools/vm-testing/:

  • TotalUninstall/ — Multiple versions including 6.18.0 (XP-Win7 compatible)

  • Regshot/ — Registry snapshot tool with x86/x64 ANSI/Unicode executables

  • InCtrl5/ — Installer control/monitoring utility with setup files

  • AutoIt/ — UI automation scripting installer

  • Bitvise-SSH-XP/ — SSH server installer and Administrator profile

  • 7-Zip/, WinZip-6.3/ — Archive utilities

  • InstallShield-IS3Engine/, InstallShield-16Bit/ — Legacy installer support

  • WiX-3.11/ — MSI creation toolset

ISOs on Proxmox host:

ISO

Contents

Purpose

TotalUninstall618.iso

Total Uninstall 6.18.0

Install monitoring (XP-Win7)

Regshot.iso

Regshot-x86-Unicode.exe

Registry snapshot tool

Bitvise-SSH-XP.iso

Bitvise SSH Server installer

SSH remote access

vm-tools.iso

InCtrl5, AutoIt, TotalUninstall (64-bit)

Original tools bundle

Mount ISO on VM:

# From Proxmox host - mount ISO on a VM
qm set <VMID> -cdrom local:iso/<ISO_NAME>.iso

Auto-Login Configuration:

All VMs configured for automatic Administrator login:

  • XP-103: Auto-login to local Administrator (domain: XP-LEGACY)

  • XP-104: Auto-login to Administrator

  • Vista-106: Auto-login to Administrator

  • Win7-107: Auto-login to Administrator

Future Enhancement: Registry-based verification for deeper software inspection (TODO).

VM 103 (XP-LEGACY) System Details

Property

Value

OS

Windows XP Professional SP3 Build 2600

Owner

GSCI

Domain

GSCI

CPUs

2 x ~2.4 GHz

RAM

3,071 MB

Hotfixes

542 installed

Key Software

InstallShield 5.x, AutoCAD 2000, ConstructiVision v7.0

VM 104 (XP-TEST) System Details

Property

Value

OS

Windows XP Professional SP3 Build 2600

Owner

Chad Weidert

Domain

WORKGROUP

CPUs

2 x ~2.4 GHz

RAM

3,071 MB

Hotfixes

260 installed

Purpose

Clean test environment for installer validation

Benefits over previous VirtualBox setup:

  • 🔒 Properly backed up — First time the only running legacy copy has snapshots

  • 🌐 Remote access — Greater Seattle Concrete can test directly via Tailscale

  • 🔄 Revertible — Can test destructive scenarios and roll back

  • 💻 Dedicated resources — Not sharing with dev laptop workloads

Customer Access (Greater Seattle Concrete):

  • Tailscale VPN access configured

  • Can run full ConstructiVision workflows on legacy environment

  • Provides real-world validation of ConstructiVision workflows

Note

The WiX installer approach was aborted on Feb 28 after analysis showed it would take 6+ months to replicate the original InstallShield behavior. Distribution has pivoted to Autodesk App Store (VLX .bundle format) as the primary channel. See Release & Distribution Plan (Modern Windows + Web).


Why testing is the modernization accelerator

Without a regression suite, every modernization step is a guess. With a regression suite, every step becomes: “did output match?”


Source-Mode Testing (TB11)

TB11-01x32 is the active test build containing 126 .lsp files and 44 .dcl files loaded directly from source — not compiled into a VLX bundle. This enables a significantly faster test cycle compared to traditional VLX-based testing.

How Source-Mode Loading Works

  1. acaddoc.lsp runs per-document (every drawing opened) and loads the ConstructiVision menu via csvmenu.lsp

  2. csvmenu.lsp loads all .lsp modules from the application directory using (load) calls

  3. acad.lsp provides S::STARTUP backup: sets ACADLSPASDOC=0 so acad.lsp runs once at startup, while acaddoc.lsp handles per-document initialization

  4. Startup Suite disabled: NumStartup=0 in the AutoCAD profile prevents stale VLX from intercepting the load chain

Benefits for Testing

  • Instant iteration: Edit a .lsp file → restart AutoCAD → changes take effect immediately. No VLX recompilation required.

  • Targeted debugging: Can isolate individual modules by commenting out (load) calls in csvmenu.lsp

  • Production parity: PB11-00x32 (production baseline) uses the same source files, ensuring TB11 source-mode findings apply directly to the production build

Deferred VLX Compilation

VLX compilation is intentionally deferred until the source-mode validation cycle is complete. Once all menu items pass validation and the bug count stabilizes, the .lsp sources will be compiled into csv.vlx for distribution via Autodesk App Store. See Release & Distribution Plan (Modern Windows + Web) for the distribution plan.


Cross-References

This document is part of the ConstructiVision modernization documentation suite:

Document

Purpose

Release & Distribution Plan (Modern Windows + Web)

Release strategy (App Store PRIMARY, WiX ABORTED)

31 — Comprehensive Workflow & Human Factors Analysis

DFMEA failure mode analysis — every bug must link to a DFMEA entry

Bug Tracker — Validation Campaign

Authoritative bug tracker — 21 bugs (17 fixed, 1 workaround, 1 open, 2 deployment)

34 — Tech Support Modernization

Tech support workflow → GitHub Issues integration

Software Development Lifecycle

SDLC process (DFSS-aligned) governing this testing strategy


Test layers

0) Environment compatibility baseline (Sprint Weeks 4-5: Feb 10-24)

Operating System Matrix:

OS

VM Required

AutoCAD Versions

Priority

Windows XP SP3

Yes (32-bit)

R14, 2000, 2002, 2004, 2005, 2006

High (legacy baseline)

Windows Vista

Yes

2007, 2008, 2009

Medium (transition era)

Windows 7

Yes

2010, 2011, 2012, 2013

High (still in use)

Windows 10

Host or VM

2014-2024

Critical (primary target)

Windows 11

Host or VM

2022-2026

Critical (future-proof)

AutoCAD Version Groups:

Group

AutoCAD Versions

OS Compatibility

VLX Format

Legacy 32-bit

R14, 2000, 2002, 2004, 2005, 2006

XP, Vista

VLX (32-bit)

Transition

2007, 2008, 2009

XP, Vista, 7

VLX (32-bit)

Modern 32/64

2010, 2011, 2012, 2013

Vista, 7, 8

VLX (32/64-bit)

64-bit Only

2014-2026

7, 8, 10, 11

VLX (64-bit)

Minimum Coverage Test Matrix (Updated Feb 28):

Test

XP + ACAD 2000

Vista + ACAD 2000

Win7 + ACAD 2000

Win10x32 + ACAD 2000

Win10x64 + ACAD 2000/2026/NanoCAD 25

Installer runs

✅ (Total Uninstall)

Installer completes

✅ (bypass 16-bit)

AutoCAD detects CSV

⚠️ Bug 1,3

⚠️ Bug 1,3

⚠️ Bug 1,3

✅ (auto-config)

✅ (auto-config + registry fix)

VLX loads

✅ (manual)

✅ (manual)

✅ (manual)

✅ (auto)

✅ (auto)

Menu appears

⚠️ Bug 3

⚠️ Bug 3

⚠️ Bug 3

✅ (auto)

Basic command works

✅ (after Wow6432Node fix)

Dialog opens (DCL)

AutoIT validation

✅ (VM 102/103/104)

— (manual testing only)

NanoCAD 25

✅ (exploratory, LSP-only)

AutoCAD 2026

✅ (VM 109)

Uninstaller works

Note (Feb 28): Win10x32 (VM 108) fully working with auto-configuration script (scripts/Configure-ConstructiVision.ps1). Win10x64 (VM 109) fully working after Wow6432Node COM registry fix (103 CLSIDs, 104 Interfaces, 6 ProgIDs copied). Both x32 and x64 builds are crash-free. Source-mode testing active with deferred VLX loading via acaddoc.lsp. VM 109 also running AutoCAD 2026 and NanoCAD 25 for forward-compatibility testing (see ConstructiVision TB11-01x64 — Architecture & Deployment). Total bugs across all platforms: 21 — see Bug Tracker — Validation Campaign.

Iterative Fix Cycle:

Test on Platform → Document Issues → Triage → Fix .lsp → Retest All

1) Smoke tests (fast, every build)

Smoke tests confirm that ConstructiVision loads and responds to basic commands. These run on every code change before deeper validation.

Automated (AutoIT): scripts/cv-menu-validation.au3 Phase 3 exercises the 6 top-level menu entries (csv, slope calculator, create/edit project/drawing, batch utilities) and confirms each dialog opens without error. This is the automated smoke test — if any of the 6 fail, the build is broken. See Software Development Lifecycle Phase 3a for the DFSS context.

Manual (source-mode): On Win10 VMs (108, 109), edit a .lsp file → restart AutoCAD → type csv at command line → confirm Program Options dialog appears. Source-mode loading means zero compilation delay.

Smoke test checklist:

Test

Method

Expected Result

Time

AutoCAD launches without crash

SSH: tasklist /FI "IMAGENAME eq acad.exe"

Process running, no acadstk.dmp

30s

csv command recognized

Type csv at command line

Program Options dialog appears

5s

All 93 modules loaded

(atoms-family 1) count check

No (load) errors in command line

10s

Menu visible

Visual check or AutoIT WinExists

“ConstructiVision” menu in menu bar

5s

Panel drawing opens

Open CSB001.dwg via File > Open

Panel displayed with title block

10s

Site drawing opens

Open CSBsite1.dwg

Site drawing displayed

10s

1.5) VLX Compilation Verification — COMPLETED (Week 3)

Goal: Prove we can rebuild VLX binaries from LSP source and validate against originals.

Status (Feb 28): VLX recompilation verified for v3.60. Source-mode testing (TB11) is now the primary development path — VLX compilation is deferred until the 65-workflow validation cycle (from 31 — Comprehensive Workflow & Human Factors Analysis Section 6) reaches stability. See Source-Mode Testing section above.

Completed verification:

  1. ✅ Compiled all LSP files → FAS → VLX using VLIDE (AutoCAD 2000 on VM 102)

  2. ✅ Compared compiled VLX size to original (v3.60: 1,103,600 bytes)

  3. ✅ Captured function lists via (atoms-family 1) — original vs compiled

  4. ✅ Diff confirmed: 109 FAS modules match (from binary analysis in v3.60 Source Recovery — Missing Dependency Fix)

  5. ✅ Basic commands verified with compiled VLX

Function List Capture Script:

(defun capture-vlx-functions (vlx-path output-file / baseline new-atoms fp)
  (setq baseline (atoms-family 1))
  (load vlx-path)
  (setq new-atoms (vl-remove-if
    '(lambda (x) (member x baseline))
    (atoms-family 1)))
  (setq fp (open output-file "w"))
  (foreach a (vl-sort new-atoms '<)
    (write-line (vl-princ-to-string a) fp))
  (close fp)
  (length new-atoms))

Results:

  • v3.60 VLX: 109 FAS modules confirmed

  • v11 (TB11): 126 .lsp + 44 .dcl loaded in source-mode — VLX compilation deferred

  • v7.0 VLX: Matches v11 module set (same product lineage, VM 103 baseline)

2) Regression tests (per fix cycle)

Regression testing validates that fixes don’t break previously-working functionality. The test matrix is derived from 31 — Comprehensive Workflow & Human Factors Analysis Section 6 (65 independently testable workflows).

Automated regression (AutoIT): After each fix commit, re-run cv-menu-validation.au3 on VMs 102, 103, and 104. Compare screenshots against baseline runs in reports/ocr-output/vm{102,103,104}-final/. The OCR pipeline (scripts/ocr-screenshots.py) extracts dialog text for automated diff.

Manual regression (priority workflows): Run the Priority 1 workflows from the Comprehensive Menu Validation section above:

Category

Workflows

Method

Expected

Core Panel

P-01, P-02, P-03, P-13, P-14/15, P-20, P-21

Manual on VM 108/109

Panel generates with correct geometry

Batch & Print

B-01, B-02, B-07

Manual on VM 102

Batch completes, matlist.txt generated

Engineering

E-01, E-02

Manual on VM 102

CSV/MB files exported correctly

Site Drawing

S-01, S-05

Manual on VM 102

Site drawing created, panels attached

Utility

U-06

Manual on VM 104

Registration flow completes

Cross-VM regression: After fixing any deployment-related bug (like Bugs 19–21), verify the fix on ALL active VMs (102, 104, 108, 109) before marking complete. The DFSS validation loop (doc 35 Phase 3) requires platform-independent verification.

OCR comparison method:

# Capture new screenshots
ssh Administrator@<VM_IP> "at HH:MM /interactive C:\run-validation.bat"

# Copy to developer workstation
scp Administrator@<VM_IP>:"C:\CV-Validation\VM102\*" reports/ocr-output/vm102-regtest/

# Run OCR pipeline
python scripts/ocr-screenshots.py reports/ocr-output/vm102-regtest/

# Diff against baseline
diff reports/ocr-output/vm102-final/ocr-output/summary.txt reports/ocr-output/vm102-regtest/ocr-output/summary.txt

3) Demo tests (release candidate)

Before any distribution milestone (App Store submission, alpha handoff), run the complete demo workflow end-to-end on a clean environment.

Demo script (full cycle):

  1. Fresh AutoCAD 2000 launch (no prior CV state)

  2. Load ConstructiVision via csvmenu.lsp (source-mode) or csv.vlx (compiled)

  3. Create new project → Create new panel drawing → Define panel with openings + weld connections + pick points

  4. Generate panel → verify 3D solid, dimensions, title block

  5. Create site drawing → Attach panel → Print site layout

  6. Batch print all panels in project

  7. Export engineering data (Dayton/Richmond CSV)

  8. Print materials list → verify matlist.txt

Demo platforms (Updated Feb 28):

Platform

VM

AutoCAD

Status

Windows XP SP3

VM 102

AutoCAD 2000 (v11)

✅ Baseline — all 6 menu items pass

Windows XP SP3

VM 104

AutoCAD 2000 (v3.60)

✅ Deferred VLX loading (Bug 20 fix)

Windows 10 32-bit

VM 108

AutoCAD 2000

✅ Source-mode, auto-configured

Windows 10 64-bit

VM 109

AutoCAD 2000 (WoW64)

✅ After Wow6432Node COM fix

Windows 10 64-bit

VM 109

AutoCAD 2026

⏳ Forward-compatibility testing

Windows 10 64-bit

VM 109

NanoCAD 25

⏳ Exploratory (LSP-only, no VLX/COM)

Demo acceptance gate (from Software Development Lifecycle §6.4): Zero new Critical/High bugs during demo run. All 8 demo steps complete without user intervention or workarounds.

4) UI Reference Documentation — COMPLETED (Doc 31)

The UI reference documentation effort has been completed as 31 — Comprehensive Workflow & Human Factors Analysis (923 lines). This supersedes the original Week 3 placeholder plan.

What doc 31 provides (replacing the original menu-tree/command-reference deliverables):

Doc 31 Section

Content

Lines

§3.1 Master Navigation Flow

Complete menu routing from AutoCAD startup through csv.lsp to panel/site editors

107–200

§3.2–3.7 Workflow Maps

6 detailed workflow maps: Panel creation, Panel editing, Batch processing, Site drawing, Engineering export/import, Materials list

200–400

§4 Manual ↔ Code Cross-Reference

45-row table mapping every CSV Manual section to DCL file, LSP file(s), menu ID, and status (38 verified, 6 concerns, 1 broken)

405–465

§6 Critical Workflow Test Matrix

65 independently testable workflows across 5 categories (P-01 to P-24, B-01 to B-08, E-01 to E-06, S-01 to S-07, U-01 to U-06)

509–590

§8 Human Factors Analysis

Nielsen’s 10 heuristics evaluation, complexity metrics (1,826 input fields, 65 dialogs), error probability analysis

637–730

Appendix A Complete Call Graph

Full function call graph for all major subsystems

675–727

Appendix B Dialog Inventory

44 DCL dialogs, ~5,736 controls — largest: wall_dlg (711), slab_dlg (648), wc_dlg (615)

874–923

Original deliverables — status:

  • menu-tree.md → Superseded by doc 31 §3 + §4 (45-row cross-reference with LSP/DCL mapping)

  • ui-reference/menu-tree/ → Superseded by AutoIT screenshot captures in reports/ocr-output/vm{102,103,104}-final/

  • command-reference.md → Superseded by doc 31 §6 (65-workflow test matrix with entry points, steps, and exit criteria)


Golden datasets

The ConstructiVision Sample Building project serves as the golden dataset for validation. These are actual project files shipped with the product and used in the AutoIT validation runs.

Primary test artifacts (in src/Project Files/ConstructiVision Sample Building/):

File

Type

Purpose

CSB001.dwg through CSB0nn.dwg

Panel drawings

Individual panel definitions with full geometry

CSBsite1.dwg

Site drawing

Site layout with grid lines and panel attachments

csv.prj

Project file

Project configuration and panel list

Test usage:

  • AutoIT validation: Phase 1 opens CSB001.dwg (panel), Phase 5 opens CSBsite1.dwg (site)

  • Manual regression: Create new panel in Sample Building project, verify against existing panels

  • Batch testing: B-01/B-02 run against all panels in CSBsite1.dwg

  • Engineering export: E-01/E-02 export from Sample Building panels, verify CSV output

Baseline comparison data:

  • reports/ocr-output/vm102-final/ — v11 reference screenshots (11 images, 6/6 pass)

  • reports/ocr-output/vm103-final/ — v7.0 reference screenshots (10 images, 6/6 pass)

  • reports/ocr-output/vm104-final/ — v7.0 patch reference screenshots (11 images, 6/6 pass) — successful re-run after Bug 20 fix

  • reports/ocr-output/vm104-feb28/ — v7.0 patch failed run (VLX not loaded, Bug 20) — retained for historical reference

  • _extract/vm102-total-uninstall/ — VM 102 filesystem + registry snapshot

  • _extract/vm103-total-uninstall/ — VM 103 filesystem + registry snapshot

Edge cases: Panels with all 20 features enabled simultaneously (P-20 workflow) stress-test the Boolean pipeline. The wc_dlg dialog with 615 controls across 5 pages is the densest UI path. See 31 — Comprehensive Workflow & Human Factors Analysis §8.3 for error probability analysis.


Output comparison strategy

Comparison leverages the OCR pipeline and cross-VM validation to detect regressions.

Automated (OCR text comparison):

Comparison

Source

Target

Method

Dialog titles

reports/ocr-output/vm102-final/ocr-output/summary.txt

New run OCR output

Text diff — titles must match exactly

Menu item count

AutoIT validation-log.txt

New run log

6/6 items must PASS

Screenshot count

Baseline: 11 (VM 102), 10 (VM 103), 11 (VM 104)

New run

Count must match or exceed baseline

Manual (structured outputs):

  • matlist.txt — Materials list text file: compare line-by-line (quantities, hardware counts, concrete yardage)

  • Engineering CSV (dreng.lsp output) — Field-by-field comparison: panel dimensions, face codes (U/D), brace positions

  • DWG metadata — Compare layer names, block counts, title block attribute values via AutoLISP inspection

  • Panel dimensions — Tolerance-based: ± 0.001” for ft-in-fraction values (rangchck.lsp precision)

Cross-version comparison (3-VM):

The 3-VM strategy (VM 102 = v11, VM 103 = v7.0, VM 104 = v7.0 patch) enables version regression detection. All 3 VMs now pass AutoIT 6/6 — dialog content is identical across VMs 102 and 104. VM 103 (v7.0) has expected wording differences on Drawing Setup and Create New Drawing dialogs. The only visual discrepancy is the zoom/center of opened drawings — VM 104 captures the command line area in drawing screenshots while VM 102 captures the drawing viewport, likely due to desktop resolution or AutoCAD window layout differences. Doc 31’s 45-row cross-reference (§4) documents expected behavioral differences between versions.


Acceptance criteria

Acceptance criteria are derived from the DFSS Voice of the Customer → CTQ matrix (see Software Development Lifecycle §9.1).

Must match exactly:

Criterion

Measurement

Source

All 6 top-level menu commands respond

AutoIT Phase 3: 6/6 PASS

validation-log.txt

All 93 modules load without error

(load) returns no errors

AutoCAD command line

Panel solid generation completes

.dwg file saved, no acadstk.dmp crash dump

File existence check

Engineering export matches baseline

Field-by-field CSV comparison

dreng.lsp output vs baseline

Menu registration correct

Group1 + Pop13 in registry

reg query HKCU\...\Menus

Can vary within tolerance:

Criterion

Tolerance

Reason

Panel dimensions

± 0.001”

ft-in-fraction parsing precision

Center of gravity (centgrav.lsp)

± 0.01 units

MASSPROP floating-point variation

Materials list quantities

Exact match

Integer counts — no tolerance

Batch completion time

± 50%

VM performance varies

Acceptable modernization deltas:

Delta

Status

Justification

DCL dialog titles differ between v3.60 and v11

✅ Expected

v3.60 used generic “AutoCAD 2000” titles; v7.0+ set explicit dialog labels

WinHelp (csv.hlp) non-functional on Win10+

✅ Known (DFMEA #10, RPN=500)

Help system replacement is a future milestone

4 menu items route to same dialog

✅ Known (DFMEA #13, BRK-05)

progcont dead variable — routing implementation deferred

NanoCAD 25: no VLX/ARX/COM support

✅ Expected

LSP-only fork (nanocad25/ — 150 files vs 187)


Tools & automation

Active testing tools (deployed and validated):

Tool

Version

Location

Purpose

AutoIT

3.3.16

C:\Program Files\AutoIt3\ on VMs 102/103/104

Automated UI testing — cv-menu-validation.au3 (572 lines)

OCR pipeline

Python + Tesseract

scripts/ocr-screenshots.py on developer workstation

BMP→PNG conversion + text extraction for screenshot comparison

Total Uninstall

6.18.0

C:\Program Files\Total Uninstall 6\ on all XP/Vista/Win7 VMs

Filesystem + registry snapshot before/after install

Regshot

1.9.0

C:\Tools\Regshot.exe on all VMs

Quick registry diff for targeted changes

InCtrl5

5.0

C:\Program Files\InCtrl5\ on all VMs

Before/after install snapshot comparison

SSH + at scheduler

XP built-in

All VMs via Bitvise SSH Server

Remote execution of AutoIT scripts (only method for interactive GUI on XP)

Configure-ConstructiVision.ps1

scripts/

Automated environment setup on Win10 VMs

Testing infrastructure (from Software Development Lifecycle §3):

Component

Purpose

DFSS Phase

AutoIT automation

Validate $Y$ (menu response) against specification

Phase 3: Validate

OCR text extraction

Detect regressions by comparing dialog text across runs

Phase 3: Validate

Total Uninstall snapshots

Diagnose $X$ (filesystem/registry state) when $Y$ fails

Phase 4: Analyze

SSH remote commands

Measure $X$ on VMs without manual login

Phase 4: Analyze

DFMEA table (doc 31 §9)

Predict failures before testing — prioritize by RPN

Phase 5: Optimize

Bug tracker (doc 32)

Bidirectional traceability: bug → DFMEA → test → fix

All phases


Immediate next steps

Completed: 5-Week Sprint (Jan 21 – Feb 24) ✅

See installer-rebuild-sprint.md for the detailed day-by-day plan. (archived)

Week 1 (Jan 21-27): v3.60 Installer Rebuild

  • Setup InstallShield 5.x in Windows XP VM

  • Import setup.rul (4,163 lines decompiled InstallScript)

  • Compile and test installer in XP VM

  • Create pre/post install snapshots

  • Run WinDiff to document all system changes

  • Fix known bugs (registry profile detection, AutoCAD running check)

Week 2 (Jan 27 – Feb 3): v7.0 Reverse Engineering

  • Inspect existing v7.0/v11 desktop installation

  • Export registry keys and file listings

  • Compare v3.60 vs v7.0 differences

  • Document target state specification

  • Draft v7.0 installer script (deferred — WiX approach aborted)

Week 3 (Feb 3-10): VLX Recompilation + Menu Tree

  • Inventory LSP source files (compare to 109 FAS modules)

  • Compile v3.60 VLX using VLIDE in AutoCAD 2000

  • Compare function lists: original vs compiled

  • Extract menu tree from csv.mnu/csv.cui

  • Map menu items → LSP → DCL cross-reference

Weeks 4-5 (Feb 10-24): OS/AutoCAD Compatibility Testing

  • Setup VMs: XP SP3, Vista, Win 7, Win 10 (32-bit and 64-bit)

  • Install appropriate AutoCAD versions

  • Run test matrix (8 tests × 5 platforms)

  • Document all issues found — 21 bugs in Bug Tracker — Validation Campaign

  • Iterative fix cycles (source-mode .lsp fixes, retest)

  • Regression test final build on all platforms

Week 6 (Feb 24-28): AutoIT Validation + Documentation

  • Develop cv-menu-validation.au3 (572 lines)

  • Run automated validation on VMs 102, 103, 104 (3 final runs + 8 debug runs)

  • OCR pipeline — screenshots → text extraction → reports/ocr-output/

  • Cross-reference AutoIT results with doc 31 workflow matrix

  • Deploy deferred VLX loading to VM 104 (Bug 20 fix)

  • VM 109 CAD workstation — AutoCAD 2026 + NanoCAD 25 installed

  • NanoCAD 25 fork — nanocad25/ subdirectory with reduced 150-file set

  • Doc 35 SDLC document (1,007 lines)

  • Doc 06 testing strategy overhaul (this document)

Remote Access Setup (parallel, by Feb 14)

  • Enable SSH + RDP for alpha testers (Tai, Dat)

  • Document access procedures — scripts/Deploy-AlphaVM.ps1

  • Setup audit logging (deferred)


Next Phase: Sub-Dialog Feature Validation (March 2026)

The AutoIT automation covers the 6 top-level menu entries. The remaining 59 of 65 workflows from 31 — Comprehensive Workflow & Human Factors Analysis Section 6 require manual or extended AutoIT testing:

Priority 1 — Critical Workflows (must pass before App Store release):

  • P-02: Create simple panel with dimensions → verify DWG output

  • P-03: Panel with openings (windows subtracted from solid)

  • P-13: Weld connections (wc_dlg — 5 pages, 615 controls)

  • P-14/P-15: Pick points and brace points (block placement)

  • P-20: Panel with ALL features enabled simultaneously

  • P-21: Edit existing panel → modify → regenerate

  • B-01/B-02: Batch print all / batch redraw all

  • B-07: Print materials list → verify matlist.txt output

  • E-01/E-02: Dayton/Richmond + Meadow-Burke export → verify CSV/file output

  • S-01: Create site drawing → verify blank site

  • U-06: Registration manager (license activation flow)

Priority 2 — High Workflows:

  • P-04/P-05: Panels with doors / blockouts

  • P-10: Panel with chamfer (edge chamfers)

  • P-22: Copy panel as template

  • S-02: Grid lines (grid_dlg — 208 edit boxes)

  • S-05: Attach panels to site drawing

  • E-04/E-05: Import .pan / .pnl files

  • U-03: WC Edit (connection library update)

Priority 3 — NanoCAD + AutoCAD 2026 Compatibility:

  • Verify CV .lsp loading in NanoCAD 25 on VM 109

  • Test panel creation workflow in NanoCAD 25 (LSP-only, no COM)

  • Test CV source-mode loading in AutoCAD 2026 on VM 109

  • Document NanoCAD-vs-AutoCAD behavioral differences

  • Validate 150-file nanocad25/ fork against 187-file acad2000/ set

Priority 4 — VLX Compilation & Distribution:

  • Compile TB11 source → csv.vlx once sub-dialog validation stabilizes

  • Package as .bundle for Autodesk App Store (see Release & Distribution Plan (Modern Windows + Web))

  • Test .bundle installation on clean VM

  • Create NanoCAD distribution package (LSP-only, no VLX)

Priority 5 — GitHub Native Fleet & Deployment Integration:

GitHub provides several native features that could replace or augment the current custom tooling. These are future enhancements, not blockers for the March 2026 release.

  • GitHub Environments — Define named environments (VM102-XP, VM104-XP, VM108-Win10, etc.) with deployment history. Shows which VM has which commit deployed. Native feature, no custom code needed beyond workflow configuration.

  • Deployment API — After CV Update.bat pulls, POST a deployment status to GitHub (commit hash, VM name, success/fail). Shows on the repo’s “Deployments” tab. Win10 VMs can use gh CLI directly; XP VMs would need curl with a PAT token or relay through dev machine.

  • GitHub Check Runs — Attach validation test results (OCR summaries) to specific commits. Shows pass/fail inline on commit pages. Requires a GitHub App or PAT-based API call after validation runs.

  • GitHub Projects (v2) — Kanban/table board for “Fleet Status” or “Validation Results” with custom fields and automation. Manual unless scripted.

  • Self-hosted Actions runners — Install runner agent on Win10 VMs (108, 109, 201, 202) to execute workflows on push and report online/offline status. Requires .NET Core — NOT viable for XP VMs (102, 103, 104).

Note

XP limitation: GitHub CLI (gh), self-hosted runners, and modern HTTPS certificate chains all require runtimes unavailable on Windows XP. XP VMs (102–104) will always need relay through the dev machine or a proxy VM for API-based reporting. Win10 VMs (108, 109, 201, 202) can use these features directly.

Deliverables

Completed (Sprint Jan 21 – Feb 28):

Remaining:

  • ⏳ Sub-dialog feature validation report (59 workflows from doc 31 Section 6)

  • ⏳ NanoCAD 25 compatibility report

  • ⏳ AutoCAD 2026 compatibility report

  • ⏳ VLX compilation report (deferred until source-mode validation complete)

  • .bundle packaging for Autodesk App Store