Sync documentation.

This commit is contained in:
Vasyl Palamarchuk
2026-09-28 17:39:45 -07:00
parent 44525aba86
commit 44cebca879
10 changed files with 48 additions and 48 deletions
+8 -8
View File
@@ -29,7 +29,7 @@
### Current State Analysis (Phase 1)
The existing Win1-Automotive-Workstation-Setup.ps1 script is **functionally complete** but has significant architectural and security limitations:
The existing Automotive-Workstation-Setup.ps1 script is **functionally complete** but has significant architectural and security limitations:
**Critical Issues (5):**
1. Hard-coded path `P:\Install\{0}` breaks parameter-driven design
@@ -469,37 +469,37 @@ Transform into a **production-grade workstation deployment system** with:
### Audit Current Workstation
```powershell
Win1-Automotive-Workstation-Setup.ps1 -Mode Audit -Profile DailyTech-Tuning
Automotive-Workstation-Setup.ps1 -Mode Audit -Profile DailyTech-Tuning
# Output: JSON report of current state, issues found
```
### Preview Changes
```powershell
Win1-Automotive-Workstation-Setup.ps1 -Mode Plan -Profile ODIS-XENTRY
Automotive-Workstation-Setup.ps1 -Mode Plan -Profile ODIS-XENTRY
# Output: Diff report showing what will be installed/changed
```
### Install Everything (with automatic restart)
```powershell
Win1-Automotive-Workstation-Setup.ps1 -Mode Apply -Profile PIWIS-ISTA -AllowAutomaticRestart
Automotive-Workstation-Setup.ps1 -Mode Apply -Profile PIWIS-ISTA -AllowAutomaticRestart
# Output: Setup log, checkpoint state saved, resumes after restart
```
### Fix Failed Installs
```powershell
Win1-Automotive-Workstation-Setup.ps1 -Mode Repair -Profile DailyTech-Tuning -ExecutionId "2026-09-09-142830-ABC123"
Automotive-Workstation-Setup.ps1 -Mode Repair -Profile DailyTech-Tuning -ExecutionId "2026-09-09-142830-ABC123"
# Output: Retry logic, fix failed packages from previous run
```
### Verify Setup Complete
```powershell
Win1-Automotive-Workstation-Setup.ps1 -Mode HealthCheck -Profile DailyTech-Tuning
Automotive-Workstation-Setup.ps1 -Mode HealthCheck -Profile DailyTech-Tuning
# Output: Pass/Fail report for each component, recommendations if issues
```
### Create New Tuning Project
```powershell
Win1-Automotive-Workstation-Setup.ps1 -Mode CreateWorkspace -Profile DailyTech-Tuning -JobId "VW001" -Manufacturer "Volkswagen" -Model "Golf" -Year 2015 -Module "ECU"
Automotive-Workstation-Setup.ps1 -Mode CreateWorkspace -Profile DailyTech-Tuning -JobId "VW001" -Manufacturer "Volkswagen" -Model "Golf" -Year 2015 -Module "ECU"
# Output: Project path, metadata initialized, ready for work
```
@@ -535,7 +535,7 @@ Win1-Automotive-Workstation-Setup.ps1 -Mode CreateWorkspace -Profile DailyTech-T
- [x] config-schema.json (NEW - JSON schema)
### Code & Tests
- [ ] Win1-Automotive-Workstation-Setup.ps1 (refactored, 2500-3000 lines)
- [ ] Automotive-Workstation-Setup.ps1 (refactored, 2500-3000 lines)
- [ ] 8 PowerShell modules (Configuration, Logging, Checkpoint, etc.)
- [ ] 70+ Pester tests (unit, integration, security, performance)
- [ ] Example scripts (Setup-DailyTech, Setup-ODIS, Setup-PIWIS, etc.)
+1 -1
View File
@@ -34,7 +34,7 @@ Your automotive workstation setup repository demonstrates solid fundamentals wit
## CRITICAL FINDINGS (MUST FIX)
### 🔴 1. PATH DERIVATION INCONSISTENCY
**Location:** Win1-Automotive-Workstation-Setup.ps1, Line 118
**Location:** Automotive-Workstation-Setup.ps1, Line 118
**Finding:** `$ProfileInstallerRoot` is hard-coded as `"P:\Install\{0}" -f $Profile.Folder`
**Problem:**
+1 -1
View File
@@ -30,7 +30,7 @@ The automotive workstation setup repository demonstrates a solid foundational de
### 1.1 SYNTAX AND LOGIC VERIFICATION
**File:** `Win1-Automotive-Workstation-Setup.ps1`
**File:** `Automotive-Workstation-Setup.ps1`
#### 1.1.1 Scope and Strict Mode
- **Finding:** Script uses `Set-StrictMode -Version Latest` and `$ErrorActionPreference = 'Stop'`
+8 -8
View File
@@ -24,36 +24,36 @@
.EXAMPLE
# Run from an elevated Windows PowerShell session in this script's directory.
Set-ExecutionPolicy -Scope Process Bypass
.\Win1-Automotive-Workstation-Setup.ps1 -WorkstationProfile 'DailyTech & Tuning'
.\Automotive-Workstation-Setup.ps1 -WorkstationProfile 'DailyTech & Tuning'
.EXAMPLE
# Set up the isolated VAG and Mercedes diagnostic workstation.
.\Win1-Automotive-Workstation-Setup.ps1 -WorkstationProfile 'ODIS & XENTRY'
.\Automotive-Workstation-Setup.ps1 -WorkstationProfile 'ODIS & XENTRY'
.EXAMPLE
# Set up the isolated Porsche and BMW diagnostic workstation.
.\Win1-Automotive-Workstation-Setup.ps1 -WorkstationProfile 'PIWIS & ISTA'
.\Automotive-Workstation-Setup.ps1 -WorkstationProfile 'PIWIS & ISTA'
.EXAMPLE
# Initial full setup, including optional development and utility applications.
.\Win1-Automotive-Workstation-Setup.ps1 -InstallOptionalApps
.\Automotive-Workstation-Setup.ps1 -InstallOptionalApps
.EXAMPLE
# Resume a prior run and retry missing or failed optional packages.
.\Win1-Automotive-Workstation-Setup.ps1 -InstallOptionalApps
.\Automotive-Workstation-Setup.ps1 -InstallOptionalApps
.EXAMPLE
# Also fetch and launch the official Xhorse Multi-PROG, VVDI-MLB, and MVCI PRO installers.
.\Win1-Automotive-Workstation-Setup.ps1 -InstallXhorseSoftware
.\Automotive-Workstation-Setup.ps1 -InstallXhorseSoftware
.EXAMPLE
# Install communication software on this Windows installation.
# Run this once in each of the three isolated Windows installations.
.\Win1-Automotive-Workstation-Setup.ps1 -WorkstationProfile 'PIWIS & ISTA' -InstallCommunicationSoftware
.\Automotive-Workstation-Setup.ps1 -WorkstationProfile 'PIWIS & ISTA' -InstallCommunicationSoftware
.EXAMPLE
# Intentionally refresh all portable applications after a successful setup.
.\Win1-Automotive-Workstation-Setup.ps1 -ForcePortableUpdates
.\Automotive-Workstation-Setup.ps1 -ForcePortableUpdates
#>
[CmdletBinding()]
+6 -6
View File
@@ -45,12 +45,12 @@
## Operational Modes
```powershell
.\Win1-Automotive-Workstation-Setup.ps1 -WorkstationProfile 'DailyTech & Tuning'
.\Win1-Automotive-Workstation-Setup.ps1 -WorkstationProfile 'ODIS & XENTRY'
.\Win1-Automotive-Workstation-Setup.ps1 -WorkstationProfile 'PIWIS & ISTA'
.\Win1-Automotive-Workstation-Setup.ps1 -HealthCheck
.\Win1-Automotive-Workstation-Setup.ps1 -BackupConfiguration
.\Win1-Automotive-Workstation-Setup.ps1 -RestoreConfiguration
.\Automotive-Workstation-Setup.ps1 -WorkstationProfile 'DailyTech & Tuning'
.\Automotive-Workstation-Setup.ps1 -WorkstationProfile 'ODIS & XENTRY'
.\Automotive-Workstation-Setup.ps1 -WorkstationProfile 'PIWIS & ISTA'
.\Automotive-Workstation-Setup.ps1 -HealthCheck
.\Automotive-Workstation-Setup.ps1 -BackupConfiguration
.\Automotive-Workstation-Setup.ps1 -RestoreConfiguration
```
All original parameters remain available. With no new mode switch, normal setup behavior continues.
+1 -1
View File
@@ -253,7 +253,7 @@
### New Module Organization
```
Win1-Automotive-Workstation-Setup.ps1
Automotive-Workstation-Setup.ps1
├── Module: Core
│ ├── Initialize-Setup
│ ├── Load-Configuration
+11 -11
View File
@@ -110,7 +110,7 @@
"ResumeInstructions": {
"AutoResume": true,
"AutoResumeDelay": 300,
"ManualResumeCommand": "Win1-Automotive-Workstation-Setup.ps1 -Mode Apply -Profile DailyTech-Tuning -ResumeFromCheckpoint -ExecutionId 2026-09-09-142830-ABC123"
"ManualResumeCommand": "Automotive-Workstation-Setup.ps1 -Mode Apply -Profile DailyTech-Tuning -ResumeFromCheckpoint -ExecutionId 2026-09-09-142830-ABC123"
}
}
```
@@ -328,7 +328,7 @@ if (Detect-PendingRestart) {
CompletedPhases = $completedPhases
LastCheckpoint = Get-Date
Status = 'InProgress_AwaitingRestart'
ResumeCommand = "Win1-Automotive-Workstation-Setup.ps1 -Mode Apply -Profile $Profile -ResumeFromCheckpoint"
ResumeCommand = "Automotive-Workstation-Setup.ps1 -Mode Apply -Profile $Profile -ResumeFromCheckpoint"
}
$saveState | ConvertTo-Json | Set-Content -Path $StateFile
@@ -559,31 +559,31 @@ function Resume-FromCheckpoint {
```powershell
# Audit current state
Win1-Automotive-Workstation-Setup.ps1 -Mode Audit -Profile DailyTech-Tuning
Automotive-Workstation-Setup.ps1 -Mode Audit -Profile DailyTech-Tuning
# Plan changes
Win1-Automotive-Workstation-Setup.ps1 -Mode Plan -Profile ODIS-XENTRY
Automotive-Workstation-Setup.ps1 -Mode Plan -Profile ODIS-XENTRY
# Apply with automatic restart
Win1-Automotive-Workstation-Setup.ps1 -Mode Apply -Profile DailyTech-Tuning -AllowAutomaticRestart
Automotive-Workstation-Setup.ps1 -Mode Apply -Profile DailyTech-Tuning -AllowAutomaticRestart
# Apply with manual restart timing
Win1-Automotive-Workstation-Setup.ps1 -Mode Apply -Profile PIWIS-ISTA -PromptForRestart
Automotive-Workstation-Setup.ps1 -Mode Apply -Profile PIWIS-ISTA -PromptForRestart
# Resume after restart
Win1-Automotive-Workstation-Setup.ps1 -Mode Apply -Profile DailyTech-Tuning -ResumeFromCheckpoint
Automotive-Workstation-Setup.ps1 -Mode Apply -Profile DailyTech-Tuning -ResumeFromCheckpoint
# Repair failed installs
Win1-Automotive-Workstation-Setup.ps1 -Mode Repair -Profile DailyTech-Tuning -ExecutionId "2026-09-09-142830-ABC123"
Automotive-Workstation-Setup.ps1 -Mode Repair -Profile DailyTech-Tuning -ExecutionId "2026-09-09-142830-ABC123"
# HealthCheck
Win1-Automotive-Workstation-Setup.ps1 -Mode HealthCheck -Profile DailyTech-Tuning
Automotive-Workstation-Setup.ps1 -Mode HealthCheck -Profile DailyTech-Tuning
# Backup before major change
Win1-Automotive-Workstation-Setup.ps1 -Mode Backup -Profile DailyTech-Tuning -BackupName "BeforeMajorUpdate"
Automotive-Workstation-Setup.ps1 -Mode Backup -Profile DailyTech-Tuning -BackupName "BeforeMajorUpdate"
# Create workspace
Win1-Automotive-Workstation-Setup.ps1 -Mode CreateWorkspace -Profile DailyTech-Tuning -JobId "VW001"
Automotive-Workstation-Setup.ps1 -Mode CreateWorkspace -Profile DailyTech-Tuning -JobId "VW001"
```
---
+5 -5
View File
@@ -224,7 +224,7 @@ Describe 'Download Validation' {
$trustConfig = Get-Content .\Config\download-trust.json | ConvertFrom-Json
# Load validation functions
. .\Win1-Automotive-Workstation-Setup.ps1
. .\Automotive-Workstation-Setup.ps1
}
Describe 'HTTPS Enforcement' {
@@ -308,7 +308,7 @@ Describe 'Windows Settings' {
```powershell
Describe 'Checkpoint & Recovery' {
BeforeAll {
. .\Win1-Automotive-Workstation-Setup.ps1
. .\Automotive-Workstation-Setup.ps1
$testCheckpointPath = 'TestDrive:\.workstation-state.json'
}
@@ -360,7 +360,7 @@ Describe 'Execution Modes' {
$stateBefore = Get-HealthStatus
# Run Audit
& Win1-Automotive-Workstation-Setup.ps1 -Mode Audit -Profile DailyTech-Tuning
& Automotive-Workstation-Setup.ps1 -Mode Audit -Profile DailyTech-Tuning
# Verify no changes
$stateAfter = Get-HealthStatus
@@ -370,7 +370,7 @@ Describe 'Execution Modes' {
Context 'Plan Mode' {
It 'should generate valid plan report' {
$plan = & Win1-Automotive-Workstation-Setup.ps1 -Mode Plan -Profile DailyTech-Tuning
$plan = & Automotive-Workstation-Setup.ps1 -Mode Plan -Profile DailyTech-Tuning
$plan | Should -Contain 'Install'
$plan | Should -Contain 'Update'
@@ -393,7 +393,7 @@ Invoke-Pester -Path '.\Tests\' -PassThru -OutputFormat Detailed
Invoke-Pester -Path '.\Tests\Unit\Applications.Tests.ps1' -PassThru
# Run with coverage report
Invoke-Pester -Path '.\Tests\' -CodeCoverage '.\Win1-Automotive-Workstation-Setup.ps1' -OutputFormat NUnitXml -OutputFile 'TestResults.xml'
Invoke-Pester -Path '.\Tests\' -CodeCoverage '.\Automotive-Workstation-Setup.ps1' -OutputFormat NUnitXml -OutputFile 'TestResults.xml'
# Run integration tests only
Invoke-Pester -Path '.\Tests\Integration\' -PassThru
+4 -4
View File
@@ -10,7 +10,7 @@
## 9.1 SCRIPT RESTRUCTURING OVERVIEW
### Current Script Status
- **File:** Win1-Automotive-Workstation-Setup.ps1
- **File:** Automotive-Workstation-Setup.ps1
- **Current Size:** ~1700 lines
- **Current Issues:** 5 critical, 8 high, 12 medium severity
- **Coverage:** Linear execution, single profile support, minimal recovery
@@ -24,7 +24,7 @@
### Script Organization
```
Win1-Automotive-Workstation-Setup.ps1
Automotive-Workstation-Setup.ps1
├── [Header] — Version, Author, License, Description
├── [Parameters] — 15+ switches and path parameters
│
@@ -465,7 +465,7 @@ Already created in Phase 6 — defines 7-layer validation requirements.
**Option 1: Clean Slate (Recommended)**
```powershell
# Backup current state
Win1-Automotive-Workstation-Setup.ps1 -Mode Backup -Profile DailyTech-Tuning
Automotive-Workstation-Setup.ps1 -Mode Backup -Profile DailyTech-Tuning
# Run new version (will detect already-installed apps, skip reinstall)
Win1-Automotive-Workstation-Setup-v2.ps1 -Mode Apply -Profile DailyTech-Tuning
@@ -491,7 +491,7 @@ Win1-Automotive-Workstation-Setup-v2.ps1 -Mode Apply -Profile DailyTech-Tuning
```
WorkstationSetup-v2.0/
├── Win1-Automotive-Workstation-Setup.ps1 (2500-3000 lines, refactored)
├── Automotive-Workstation-Setup.ps1 (2500-3000 lines, refactored)
├── Config/
│ ├── app-catalog.json (Unified app definitions)
│ ├── apps-core.json (Backward compat, deprecated)
+3 -3
View File
@@ -25,9 +25,9 @@
Run the following command once while booted into each isolated Windows installation:
```powershell
.\Win1-Automotive-Workstation-Setup.ps1 -WorkstationProfile 'DailyTech & Tuning' -InstallCommunicationSoftware
.\Win1-Automotive-Workstation-Setup.ps1 -WorkstationProfile 'ODIS & XENTRY' -InstallCommunicationSoftware
.\Win1-Automotive-Workstation-Setup.ps1 -WorkstationProfile 'PIWIS & ISTA' -InstallCommunicationSoftware
.\Automotive-Workstation-Setup.ps1 -WorkstationProfile 'DailyTech & Tuning' -InstallCommunicationSoftware
.\Automotive-Workstation-Setup.ps1 -WorkstationProfile 'ODIS & XENTRY' -InstallCommunicationSoftware
.\Automotive-Workstation-Setup.ps1 -WorkstationProfile 'PIWIS & ISTA' -InstallCommunicationSoftware
```
- [ ] MVCI PRO J2534 installer launched and completed on the current Windows installation.