Files
claudetools/test-error-logging.ps1
Mike Swanson b87e97d3ba feat: Add directives system and DOS management utilities
Implemented comprehensive directives system for agent coordination:
- Created directives.md (590 lines) - Core operational rules defining
  coordinator vs executor roles, agent delegation patterns, and coding
  standards (NO EMOJIS, ASCII markers only)
- Added DIRECTIVES_ENFORCEMENT.md - Documentation of enforcement
  mechanisms and checklist for validating compliance
- Created refresh-directives command - Allows reloading directives
  after Gitea updates without restarting Claude Code
- Updated checkpoint and save commands to verify directives compliance
- Updated .claude/claude.md to mandate reading directives.md first

Added DOS system management PowerShell utilities:
- check-bat-on-nas.ps1 - Verify BAT files on NAS match source
- check-latest-errors.ps1 - Scan DOS error logs for recent issues
- check-plink-references.ps1 - Find plink.exe usage in scripts
- check-scp-errors.ps1 - Analyze SCP transfer errors
- check-sync-log.ps1 (modified) - Enhanced sync log analysis
- check-sync-status.ps1 - Monitor sync process status
- copy-to-nas-now.ps1 - Manual NAS file deployment
- find-error-logging.ps1 - Locate error logging patterns
- fix-copy-tonas-logging.ps1 - Repair logging in copy scripts
- fix-dos-files.ps1 - Batch DOS file corrections
- fix-line-break.ps1 - Fix line ending issues
- fix-plink-usage.ps1 - Modernize plink.exe to WinRM
- push-fixed-bat-files.ps1 - Deploy corrected BAT files
- run-sync-direct.ps1 - Direct sync execution
- test-error-logging.ps1 - Validate error logging functionality
- trigger-sync-push.ps1 - Initiate sync push operations
- verify-error-logging.ps1 - Confirm error logging working
- scripts/fix-ad2-error-logging.ps1 - Fix AD2 error logging

Added Gitea password management scripts:
- Reset-GiteaPassword.ps1 - Windows PowerShell password reset
- reset-gitea-password.sh - Unix shell password reset

Key architectural decisions:
- Directives system establishes clear separation between Main Claude
  (coordinator) and specialized agents (executors)
- DOS utilities modernize legacy plink.exe usage to WinRM
- Error logging enhancements improve troubleshooting capabilities
- All scripts follow PSScriptAnalyzer standards

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
2026-01-19 15:52:28 -07:00

64 lines
2.4 KiB
PowerShell

# Test error logging by attempting a known-failing file push
$password = ConvertTo-SecureString "Paper123!@#" -AsPlainText -Force
$cred = New-Object System.Management.Automation.PSCredential("INTRANET\sysadmin", $password)
Write-Host "=== Testing Error Logging ===" -ForegroundColor Cyan
Write-Host ""
Invoke-Command -ComputerName 192.168.0.6 -Credential $cred -ScriptBlock {
Write-Host "[1] Loading sync script to test Copy-ToNAS" -ForegroundColor Yellow
# Dot-source the sync script to load functions
. "C:\Shares\test\scripts\Sync-FromNAS.ps1"
Write-Host "[2] Attempting to push a file that will fail" -ForegroundColor Yellow
Write-Host " (lowercase .dat file in HVDATA subdirectory)" -ForegroundColor Gray
Write-Host ""
# Try pushing one of the known-failing files
$testFile = "C:\Shares\test\TS-1L\ProdSW\HVDATA\hvin.dat"
if (Test-Path $testFile) {
Write-Host "[OK] Test file exists: $testFile" -ForegroundColor Green
Write-Host "[TESTING] Calling Copy-ToNAS..." -ForegroundColor Cyan
# Call Copy-ToNAS directly
$result = Copy-ToNAS -LocalPath $testFile -RemotePath "/data/test/TS-1L/ProdSW/HVDATA/hvin.dat"
Write-Host ""
if ($result) {
Write-Host "[UNEXPECTED] File pushed successfully!" -ForegroundColor Yellow
} else {
Write-Host "[EXPECTED] File push failed" -ForegroundColor Green
}
Write-Host ""
Write-Host "[3] Checking log for detailed error" -ForegroundColor Yellow
Write-Host "=" * 80 -ForegroundColor Gray
$recentLog = Get-Content "C:\Shares\test\scripts\sync-from-nas.log" -Tail 5
$scpError = $recentLog | Where-Object { $_ -match "SCP PUSH ERROR" }
if ($scpError) {
Write-Host "[SUCCESS] Detailed error logged!" -ForegroundColor Green
Write-Host ""
$scpError | ForEach-Object {
Write-Host $_ -ForegroundColor Red
}
} else {
Write-Host "[FAIL] No detailed SCP error found in recent log" -ForegroundColor Red
Write-Host ""
Write-Host "Recent log entries:" -ForegroundColor Yellow
$recentLog | ForEach-Object {
Write-Host " $_" -ForegroundColor Gray
}
}
} else {
Write-Host "[ERROR] Test file not found: $testFile" -ForegroundColor Red
}
}
Write-Host ""
Write-Host "=== Test Complete ===" -ForegroundColor Cyan